一、吞吐量与响应时间
我们是否经常出现线下性能测试非常好,线上性能很差问题,或者是A环境好,B环境性能差。这种情况大部份是系统环境的差异,如两个环境硬件不一样,配置参数不一样,数据规模不一样,缓存命中率不一样等等。在做性能测试时需要深入分析正式环境的各种数据细节,然后在做性能测试时有针对性的去模拟。
三、性能测试无用论
性能量化是指对系统功能或硬件的主要指标进行性能指标计算,比如一个查询请求的所有开销计算,包括 络开销,应用服务器开销,数据库服务器开销等等,或者是更细化的CPU开销,内存开销,IO开销等。性能量化还包括系统所使用的硬件指标,包括CPU性能,内存容量及性能,硬盘带宽及IOPS, 络带宽及延时等等。没有这些基础数据是很难做性能量化,否则只能做简单的表面性能测试,给出一些感性数据,准确的系统整体性能容量评估也无从谈起。没有扎实的性能量化基础数据,搞不清楚一个逻辑在各个环节开销,那做性能优化只能是凭感觉或经验走。
五、硬件成本

在IT人的眼里硬件的费用是很高的,软件成本是很低的甚至可以忽略,因为硬件需要购买,基本上没有免费的硬件,而软件可以选择开源免费的,或者自己开发,甚至使用盗版。因此在遇到性能问题是程序员首先想到的优化软件性能。但在这个人工成本上升,硬件成本下降,硬件性能或容量随摩尔定率的发展的时代,我们也应该重视硬件的优化方法。
如果是服务器 络瓶颈,百兆接口升级到千兆,千兆升级到多口千兆甚至是万兆,这种升级都可以快速解决性能问题。单块SATA硬盘吞吐量不够,可以选择换SAS 15K硬盘,吞吐量就提升1倍,如果还不够可以选择多块硬盘做RAID,实现一个数量级内近线性的吞吐量提升,如果是硬盘IOPS低,可以选择换SATA的SSD硬盘,能提升10倍以上的IOPS,如果要求更高可以选择换PCIe的SSD硬盘,可以提升100倍以上的IOPS。内存不足可以增加内存容量,当前单根4G,8G容量的内存性价比都不错。CPU升级一般比较麻烦,因为受到CPU架构的影响,且CPU的发展较快,成本较高,所以很少做,对于老的服务器CPU不足一般会选择直接淘汰,重新采购新的。
通过硬件升级可以快速解决系统性能问题,对于可预估的系统容量性价很好。但顶配或者新出来的硬件贵得离谱,最新的硬件往往也会存在一些未知的BUG,所以硬件升级一般不会选择1年内出来的全新架构的设备,而通常选择2年以上比较成熟的硬件性价比会更好。但是硬件升级往往会有上限,顶配或者最高性能的硬件往往性价比不好,所以在硬件升级解决问题后同时需要分析业务增长导致更多硬件成本的问题。选择软件优化还是硬件优化是一种技术成本平衡决策,有时软件也需要针对硬件做特定的优化。
21/212>
相关资源:tong:tong-桐是一个以学习为目的的GoWeb框架,遵循GPLV3协议-其它…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!