性能测试、指标和优化 -- 性能相关总结

本文主要探讨服务端性能测试,包括性能测试、压力测试、容量测试、疲劳测试和配置测试等类型,并强调了测试前的准备和性能测试工具如ApacheBench的使用。此外,文章还提及服务器端性能指标和性能优化原则,如内存优化和使用Valgrind等工具进行性能调优。
摘要由CSDN通过智能技术生成

这篇博文主要是涉及到服务端性能,对于前端性能比较少涉及,但是最后一部分简单介绍了前端(Web页面)的测试和调优。这篇文章最早写于2012年,今天翻出来,又重新梳理了一下。哦,对了,如果对本博客中所有文章有疑问,请发邮件到lihaibo2006$gmail.com,我一般晚上就能看到。

一、性能测试的类型

    实际上性能是一个很很宽泛的词,系统出了问题大多归结为性能有问题,比如访问速度慢,占用资源过多,时不时宕机等等,但是这属于不同性能问题的范畴,而且测试方法也不尽相同。做性能测试的QA是很稀少的,所以性能测试一般都由工程师来承担。
  1、性能测试(可用性测试)
    主要是测试正常业务量下,成功率、每秒检索量、平均处理时间、服务器资源利用率。主要考察,该系统是否符合业务需求,能否达到上线要求。
  2、压力测试
    主要是测试峰值情况下,测试不同并发数下,单机/单套系统的极限并发。和上一个测试不同,这里主要考察万一访问量特别大的情况下,系统是否能够抗住压力,如果超出这个极限,就需要增加硬件设施了。
  3、容量测试
    主要是测试数据量非常大的情况下,内存、磁盘、访问性能。一般系统刚上线,数据量较小,性能一般没有什么问题,把数据放大到百万、千万量级,再测测系统,可能之前未能暴露的问题就出来了。
  4、疲劳测试
    连续24小时以上测试,看有没有内存碎片和内存泄露,内存泄露比较好解决,内存碎片这个问题比较棘手。听说Microsoft SqlServer刚发版的时候,一周宕一次,没有办法,只能定期去重启Server。
  5、配置测试
    不同参数下的性能,后台程序会有很多开关,需要测试主要的开关情况下对性能的影响,或者不同的参数数量对于性能的影响。比较简单的例子就是,索引长度设置为128和1024对于系统的性能究竟有多大的影响。

二、测试前的准备

   1、两台干净的同局域网的机器,跨机房的两台机器,你就需要考虑到,机房之间的延迟了。
   2、优化的编译选项的程序,最好是优化过的,上线要求的编译设置。
   3、服务端、测试程序分开部署
   4、检查线程数以及其他参数
   5、检查功能是否正确,功能不正常,别做性能测试。
   6、关闭Debug日志,debug日志打开,性能瓶颈全在log上了。
   7、测试客户端放在另一台机器上
   8、准备测试数据,尽量构造和生产环境相同的数据。
   9、因等待时间较长,请准备一杯茶 or 咖啡 or 书

三、性能测试工具和指标

    性能测试的工具有很多,如果是HTTP协议,那么ApacheBench、Siege、WebBench、LoadRunner(商用)我简单介绍一下ApacheBench(AB)

[html]  view plain   copy
  1. 参数  
  2.     -n 同时并发数,10-20-50-100  
  3.     -c 总请求数量,一般够压10分钟左右,10万-100 即可  
  4. 报告  
  5.     错误:Complete requests/Failedrequests/Write errors  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值