全部博文(125)
分类: LINUX
2010-08-25 11:38:06
转自:
个人总结,未涉及具体细节。只是概况了几个小的方向。
在性能测试过程中,我们往往要查询服务器资源使用情况,例如cpu,load,i/o等。此时,top命令、uptime命令、iostat命令就显得尤为重要。
在性能测试过程中,我们往往要查询服务器的log信息。此时,cd命令、vi/vim命令、cat命令、grep命令、tail命令就能大显身手。
在性能测试过程中,我们往往要查看某个进程使用的虚拟内存和物理内存。此时,cat /proc/pid/status就十分有用。
在性能测试过程中,我们往往要查看某个文件占用了大量的空间。此时,find命令派上用场。
……
如果哪天你忘记监控系统资源使用情况了,心中极其苦恼。怎么办?别急,liunx已经为你记录sa日志啦。进入sa目录去淘宝吧!命令为 cd /var/log/sa ,在这里你会发现许多惊人的奥秘……美中不足之处,在于这里的采样时间间隔太长,为10分钟一次,对于细节问题而言,这些日志的用处没有想象中的那么好。
上述这些命令,均可以根据实际情况,配以对应的参数,进行更好的跟踪来采集所需要的数据。
liunx命令的灵活应用,配合shell的语法规则,能写出许多非常使用的小脚本。这些东西,对于性能测试,及性能测试结果分析,都有相当重要的意义。
在性能测试的整个流程当中,监控起着至关重要的作用。因为在性能测试开始执行之后,需要实时的去观察性能测试的各个指标是否正常,包括应用服务器、数据库、中间件等方面。一旦发现异常情况,及时修正,保证性能测试的顺利进行。而且在监控当中,也可以发现系统的瓶颈,适当制止性能测试的继续运行,保证避免重复的工作。
个人认为,首先,广泛意义的性能测试监控,应该分阶段去做,其中包括执行前、执行中和执行后的监控。
执行前:
环境搭建的时候,监控确定性能测试环境的纯净性,没有其他资源在使用。CPU、MEM、LOA、I/O的初始值是否正常。
执行中:
监控内容包括虚拟用户执行情况、场景状态、事务响应时间、服务器资源使用、操作系统和硬件的监控,此外最重要的还有测试机的运行情况,包括CPU、MEM等。是否满足当前性能测试种类的要求,比如性能测试、压力测试、负载测试等。
除了loadrunner等监控工具外,也可以借助于辅助工具,用来监控一些定时服务、夜间监控情况,写一些shell脚本。
监控中可以分几大类去监控:工具的监控、测试用例的监控、测试方法的监控、进度、以及测试环境的监控。
建议:创建监控点列表,确定监控目标。开启监控服务,监控同时要采集信息,以便之后的分析。确定监控信息,同时确定监控工具。
执行后:
监控资源释放是否正常、合理。
性能测试的监控指标主要包括以下几个部分:
1. 服务器:Linux应用服务器
具体包括CPU、Memory、Load、I/O、Disk等。
2. 数据库:1.Mysql 2.Oracle
具体包括缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数等。
3. 中间件:1.Jboss 2. Apache
具体包括线程数、连接数、日志输出等。
4. 网络
具体包括防火墙、网卡、网线、吞吐量、吞吐率等。
5. 应用服务
具体包括JVM内存使用和回收、JAVA内存使用、Full GC频率、JAVA类装入和卸载、日志、线程运行状态(阻塞、等待、正常运行)等。
6. 监控工具(LoadRunner)
具体包括用户执行情况、场景状态、事务响应时间、TPS、Load、CPU分析图表等。
7. 测试机资源 具体包括CPU、Memory、网络、日志输出、磁盘空间、负载生成器评估等
1.确定监控目标 2.确定监控和分析信息3.确定监控工具4.收集数据5.分析数据6调优7循环
包括Checklist法等
包括Profiler、Jstat、Jconsole、Jmap、Jprofiler、Nmon等。
chinaunix网友2011-01-04 20:06:23
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com