服务器处理能力,你估算正确过吗?

作者:成晓旭

1    【引题】

但凡写过技术方案的都知道,在技术方案最终落实到工程实施部署时,必须编制出当前解决方案需要部署的IT设备及环境,包括:需要的网络环境、端口、带宽、组网方式、网络安全保障措施;需配置的服务器设备性能、数量;需配置的存储数据存储设备、容量、存储速率;甚至还需考虑整个系统的备份设备容量、备份I/O数、速率、备份策略等。

严格说来,无论是系统厂商、集成公司、还是研究院、设计公司,在最终提供方案的硬件配置时,都应该以业务需求为依据、适当考虑客户业务的发展趋势和系统冗余,详细估算:当前业务需求对网络带宽、对处理能力、对数据存储容量的指标。因此,本文以自己的项目案例和经验为基础,简述计算机处理能力如何正确估算,供大家参考。

2    【性能评测标准】

众所周知,事务处理性能委员会的TPC-C标准,是测算和衡量计算机硬件设备性能的行业标准。随着B/S技术架构的大行其道,SPEC组织专门推出了针对Web服务器响应客户端Web访问请求的性能测算标准,即SPEC web系列。因此,如果是传统的基于事务处理模式的服务器,仍采用TPC-C的方式进行测算;如果是Web服务器,则需要采用SPEC web系列的标准进行测算。然而,很遗憾的看到,很多人在测算服务器性能时完全忽视这两种差别。

1.1  TPC-C标准

TPC-C基准是事务处理委员会建立的一个专门演示在线事务处理性能(OLTP)的性能基准,它的测量方法是为了使客户能够评估不同的在线事务处理系统的性能,这些事务进程于一个可控制的状态下在一个标准的数据库中运行。

TPC-C的事务处理是在一个9个表的数据库上实现的事务处理过程包括:更新、插入、删除、终止,以及对主和次级键的访问,每种事务处理95%的响应时间应小于或等于5秒,其中,库存水平的响应时间可以在60秒以内。TPC-C值表示每分钟处理的标准事务量,单位是tpmC。

1.2  SPEC web标准

SPEC web99,WEB 服务器可以支持的并发接入数。SPECweb99 检测程序模拟客户通过慢Internet 连接,向Web 服务器发送HTTP 工作量请求。

SPEC Web2005,作为SPECweb99的继承者,SPECweb2005延续了SPEC的传统测试的原理,通过多台客户机向服务器发出Http Get请求,请求调用Web服务器上的网页文件,这些文件从数千字节到数兆字节不等。在相同的时间里,服务器回答的请求越多,就表明服务器对客户端的处理能力越强,系统的Web性能就越好。

3    【性能估算公式】

3.1  常见的错误估算方法

在技术方案评审和招投标评标过程中,我常常看到这样的评估服务器处理能力的表格:

示例一:


示例二:


不知道这种评估方法是从那里开始的,在技术方案文档中,曾多次看到这样的评估模型和表格。即不全是TPC-C的评估方法,又不全是SPEC Web体系的评估方法。

3.2  TPC-C估算公式

TPC-C是用计算机设备在每分钟内所能处理的标准事务的数量来衡量其处理能力的多少;因此,估算一个应用场景对处理能力的需求,本质上就是估算出每类业务处理事务对应的标准tpc-c事务量,然后在适当考虑冗余量。TPC-C的测算结果是每分钟的事务数,单位是tpmc。

TPC-C的通用估算公式如下:

    TPC-C = ∑(每分钟业务事务量 * 标准事务量比率)/ (1 — 冗余率)。

例如:某业务系统有2类业务处理事务操作,业务事务1每分钟30000个,每个业务事务1操作相当于0.5个标准tpc-c事务;务事务2每分钟20000个,每个业务事务2操作相当于2个标准tpc-c事务;考虑30%的系统冗余。则该业务应用需要的处理能力为:

服务器处理能力(tpmc) = ((30000 X0.5) + (20000 X 2)) / (1 – 30%) = 78581。

3.3  SPEC Web估算公式

SPEC Web2005标准的衡量结果是一台Web服务器能够有效响应客户端的Web请求的最大极限个数。因此,测算的结果应该是一个Web请求数字,单位是个。

在评估应用服务器的SPEC Web2005值时,通常的方法是通过系统的在线用户,结合其在线率估算出并发用户数,在参照日常业务使用场景中可能发起的http请求来进行估算。

SPEC Web2005的参考估算公式如下:(注意:公式仅供参考,需根据项目的具体情况自行设计估算模型)

    Web访问响应能力(SPEC Web2005) = (在线用户数 * 在线率 * 在线用户平均发起http请求数)/ (1 — 冗余率)。

例如:某业务系统的在线用户数为2000,在线率10%,每在线用户平均发起的http请求数为3,考虑30%的系统响应能力冗余。则负责该业务请求的Web服务器的响应能力为:

Web访问响应能力(个) = 2000 * 10% * 3 / (1 – 30%) = 857。

4    【应用实例】

下面以一个实际工程项目的应用服务器(部署Web Service中间件)的性能估算为例进行示范。

应用服务器上运行中间件产品,承担系统的各类业务逻辑组件运行计算,收敛系统用户对数据库服务器的访问请求,集中对外提供应用服务。通过分析,应用服务器性能需求在于:提供Web应用服务、业务逻辑处理。

Web应用服务方面,根据的业务预测数据,应用服务器平均在线并发用户按120估算,并发在线率20%,每用户平均发起3个http链接,考虑30%系统响应冗余能力,参照SPECweb99的评测标准,Web应用服务性能需求:Web服务器最大并发连接数=(120×20%×3)/(1 - 30%)= 103。

业务逻辑处理性能方面,主要的应用服务组件性能需求在于:集团数据监测分析、省数据监测分析、业务数据查询。据调研统计,集团数据为每分钟3585 条,省数据平均为每分钟51667条,业务信息查询请求平均为每分钟2151次;集团数据监测分析,每次业务操作约需3个标准tpcc事务,省数据监测分析,每次业务操作约需2个tpcc事务,业务信息查询,每次业务操作约需2个tpcc事务;则系统主机的处理能力需求TPCC值计算如下:


因此,应用服务器的处理能力配置不能低于196731tpmc,其Web2005配置指标不能低于103个。

5    【经验总结】

第一点,针对事务处理型应用场景,需要采用TPC-C的估算方法,估算出具体需要的总tpmc值;而针对Web客户端请求响应型应用场景,除了估算其业务处理能力之外,还需要评估其对客户端Web请求的响应能力,实际配置的服务器一般不能低于估算结果。

第二点,除了考虑存业务处理需要的处理能力需求外,还需要考虑设备运行环境上其他基础服务运行开销:例如操作系统、数据库服务器、Web服务器、应用中间件等。

第三点,由于当期硬件设备发展非常迅速,一般标配的PC服务器的tpcc值也常常是几十万,高配的甚至上百万。因此,还有两条经验提醒大家注意:

其一,如果业务需求的tpcc值测算出来其实很低(绝大部分应用都是如此),配置一台很低端的PC服务器都能够满足处理能力需求,不能因为想给客户提供高配置的设备,而胡乱的编纂tpcc值;而应该从其他方面寻找更加充分有力的理由。

其二、由于PC服务器处理能力的增强,tpcc值往往不再成为必须选择小型机的一个比较充分的理由;但需要给客户报配小型机方案时,可以尝试从稳定性、可靠性、高I/O需求、设备同构需求、外围设备特殊要求等方面多想办法,而不能再一味只从tpcc值这个角度去考虑。

服务器处理能力,你估算正确过吗?相关推荐

  1. 数据库备份服务器性能指标,服务器处置性能估算

    系统的建设,必须满足未来5年业务发展和管理的需求,所以下面对服务器性能指标的估算,将以满足未来5年的需要为基准. 1.数据库服务器 1.1. TPCC值估算 约定: 系统同时在线用户数为100人(U1 ...

  2. 为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢...

    常用MIME类型(Flv,Mp4的mime类型设置) 也许你会在纳闷,为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现"无法找到该页"的404 ...

  3. 服务器并发量估算公式和计算方法

    本文详细讲解了服务器并发量估算公式和计算方法,对大家的学习或工作具有一定的参考借鉴价值.需要的朋友可以收藏下,方便下次浏览观看 最近需要对再次对服务器进行压力测试,这里整一下最近学习到的估算方案和估算 ...

  4. 服务器账套信息链接失败,账套服务器数据库建立不正确

    账套服务器数据库建立不正确 内容精选 换一换 sql server数据库实例2创建链接服务器访问另外一个sql server数据库实例1.sql server数据库实例2和sql server数据库实 ...

  5. linux服务器卡死了,Linux服务器死机的正确处理方法!

    原标题:Linux服务器死机的正确处理方法! Linux系统一直都以开源与稳定著称,很少会出现问题,但即使是如此复杂的系统,死机的问题还是无法避免.Linux系统死机也分为多种情况,那么,在Linux ...

  6. 服务器性能优化的正确姿势

    作者:汪伟(simon), 来自:高效运维 导言:运维工作中除了要维持平台的稳定运行以外,还得对服务器的性能进行优化,让服务器发挥出良好的工作性能是稳定运行的基础.腾讯互娱DBA团队的汪伟(simon ...

  7. cdn回源php_别让CDN的回源把你的服务器拖垮,采用正确的回源策略

    我们有一台服务器提供的服务主要是以动态页面为主,静态页面都是固定的内容平时更新的很少,最近这台服务器的应用升级到了新版本访问量增大了不少,随之的问题就来了,最近每天一到9点负载就超过警戒值,然后负载持 ...

  8. 报表服务器的配置不正确的是,用友T3财务报表打开提示不能登录到服务器,请检查服务器配置?...

    今日有一个朋友在微信上咨询用友辣妹,他的用友T3财务软件在打开财务报表的时候出现错误提示:不能登录到服务器[sa20150906jcnj],请检查服务器配置:failed:不能发送请求?如下图所示: ...

  9. 1u水冷服务器如何维护,如何正确使用数据中心水冷技术?

    大家都知道,数据中心制冷一直是很重要的问题,不可避免的会用水来降温.可是,数据中心进水,带来的损失是巨大的.虽然数据中心进水可能是场噩梦,但是对于处理器数量日益增加的高效运转的数据中心服务器而言,通过 ...

最新文章

  1. 遮挡目标检测优化笔记
  2. JavaScript 复习之 Array 对象
  3. Kali-Linux虚拟机安装提示
  4. 电商必备:如何选择第三方快递?
  5. boost的chrono模块线程时钟的测试程序
  6. Zabbix监控Zookeeper健康状况
  7. neo4j set 多个值_Neo4j:收集多个值
  8. linux网卡IO,浅谈Linux 网络 I/O 模型简介(图文)
  9. Mysql 启动报错解析:Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/dat
  10. 拼团功能实现 php_PHP实现微信提现功能
  11. matlab 变调器,关于变声变调的matlab设计 比较详细
  12. 如何破解物联网卡带来的连接痛点
  13. 服务器响应401,如果服务器返回401响应,则重定向到登录页面(Redirect to login page if server returns 401 response)...
  14. 经典蝙蝠算法MATLAB实现
  15. python做考勤表_考勤表下载免费后怎么制作?
  16. Guass_seidel迭代法
  17. 试用新版Windows Home Server 2011 (Vail)
  18. 创业者2012必看十大文章(10)
  19. 010 editor如何复制16进制
  20. 爬虫练习(二)—股票信息抓取

热门文章

  1. 光纤光缆基础知识二十问
  2. Python 字符串每隔两个加入空格
  3. 计算机的硬件组成及工作过程
  4. 如何做好WordPress网站的站内SEO优化?
  5. ROS中的多坐标变换详解(示例+代码)
  6. 基于springboot+Vue垃圾分类网站积分兑换商城礼品和考试考核系统【附项目源码+论文说明】分享
  7. 计算机专业出国留学益处多吗,留学韩国的好处
  8. 关于中文名字日本发音的笑话
  9. H5 点击链接 加入qq群聊
  10. 后台启动ElasticSearch、Kibana、ElasticSearch-head