Linux服务器程序性能测试的一些思考
来源:互联网 发布:可免费下载的数据库 编辑:程序博客网 时间:2024/05/17 21:54
工作中对项目压力测试的一些心得,先自我作一个小结吧!
(一)宏观与微观相结合
(1)宏观层面
即系统的一些关键性能指标,如:各进程所占CPU的百分比、内存消耗、网络包量、磁盘IO等等,详细指标列举如下:
名称
描述
参考值
CPU useage
CPU 的使用时间百分比。
平均值小于70%
Process virtual memery size
进程使用的内存空间总量,包括物理内存和swap内存
进程长时间运行后该值不能大幅度的改变,否则是内存泄露
Disk rate
磁盘传输速率
一般少于2M/s, 日志级别太低时硬盘io会是瓶颈。
Bytes trans rate
网络发送速率
少于200Mbps
Bytes receive rate
网络接收速率
少于200Mbps
Pages swap in
每秒钟读入到物理内存中的页数
长期大于0表示物理内存不足
Pages swap out
每秒钟写入页面文件页数
参考上面
Context switches rate
每秒钟在进程或线程之间的切换率。
少于5000*cpu个数
Interrupt rate
每秒内的设备中断数。
该指标代表了本地向CPU引起的本地中断,例如IO端口引起中断,系统时钟引起中断。
一个巨大的中断值,同时伴随着缓慢的系统性能表现,指示存在硬件问题。
测试工具:nmon
(2)微观层面
这里是指具体到Server程序的逻辑功能模块,包括函数消耗CPU周期、函数调用次数等资源占用情况,以及系统内核哪一部分最忙等。
测试工具:oprofile、gprof
(二)黑盒与白盒相结合
(1)黑盒测试
我们目前的压力测试程序,其实是归于黑盒测试范畴的,它模拟玩家的一些行为,应用具体项目的实际协议与被测游戏Server通讯,通过同时产生大规模机器人,来模拟与实际运营中相似的场景。这里编写的测试用例,其功能就是要尽可能真实地模拟client的功能,并能方便的配置化和部署client行为;
(2)白盒测试
我理解的白盒测试包括两部分,一是单元测试,它能有效地解决BUG回归测试的问题,二是代码覆盖率检查,它能有效检查到每个函数分支的执行情况。前者可借助业界成熟的自动化测试框架,如:cppunit、gtest;后者也有许多第三方工具,比较方便的有GNU自带的gcov,只要在编译程序时,加入-fprofile-arcs -ftest-coverage编译选项即可。
如果要用一句话来概括两者的话,那就是:
白盒测试能极大的保障程序逻辑功能层面的正确性(正常与异常流程均能检测到),而黑盒测试则能有效保障程序运行的稳定性。
- Linux服务器程序性能测试的一些思考
- Linux服务器程序性能测试的一些思考
- Linux服务器程序性能测试的一些思考
- 关于服务器性能的一些思考
- 关于服务器性能的一些思考
- 游戏服务器程序的性能思考
- linux 服务器性能测试
- 性能测试常用的一些linux指令
- 基于linux的Web服务器性能测试
- 基于linux的Web服务器性能测试
- 基于Linux的Web服务器性能测试
- 项目q总结:关于Linux性能问题的一些思考
- Linux 性能测试程序
- 密码学 性能的一些思考
- 性能测试的小思考
- 测试过程的一些思考
- 软件测试的一些思考
- 测试过程的一些思考
- OCP考题解析_007: 内联视图优化all或any操作符
- 使用 Google Analytics 对 iPhone/iPad 应用进行统计和分析
- HBase性能调优
- 程序执行优先级--Priority 与 Nice 值
- Java数据结构与算法--数组
- Linux服务器程序性能测试的一些思考
- WPF学习(一)绘制图形的三种方法及区别
- 程序管理-ps、top、pstree、kill、killall
- linux下代码覆盖率检查工具---gcov的用法
- 答辩你会用得着
- 一些支持向量机(SVM)的开源代码库的链接及其简介
- Linux服务器运行状况全面监测
- hdu 1561 The more, The Better(树形dp)
- Linux系统常用性能监测工具