一:性能概念
1.概念:性能测试就是压力测试和负载测试的总和
应用场景:一门户网站能够支持多少用户并发操作(注册、写博客、看照片),看看支持多少并发
2.:主要指标
使用者:响应时间(实质指事物)、稳定性‘
系统的角度:网络、硬件、软件的配置情况(应用服务器的jvm的配置、数据库中的my.int配置、系统)
主要指标:响应时间、吞吐量、并发用户、资源利用率(cpu、内存使用)
3.实施过程
了解测试项目的需求-分析测试需求-编写测试用例-相关资源准备-脚本维护-执行脚本-分析结果-性能调优
例如:有2500用户的需求,并发500就可以了,满足二八原则,有10000的用户,活跃用户大概2000,并发2000就可以了;只测试核心业务模块就可以了。
4:性能测试需求(测试目标)
(1).响应时间:复杂查询时间小于15s,简单查询小于5秒
(2)持续运行时间:24、48小时
(3)并发用户数:10000用户2000并发量
(4)资源计数器:cpu平均时间不得超过85%;可以使用内存不得低于100m
5:具体观测
(1)服务器linux/window:cpu、内存、load、i/o
(2)应用服务器:tomcat、apache(线程、连接数、日志)、netty
(3)应用:JVM内存、日志、FULL\gc频率
(4)数据库:缓存命中、索引、单条SQL性能、数据库线程数、数据池连接
(5)网络:吞吐量、吞吐率
二:性能监测方法和性能监测工具的应用
1.linux系统
常用命令:1)whereis ***;2)ps -ef | grep tomcat 查找应用部署在哪里 3)uname -r 查内核 4)sudo
命令大全:http://www.php100.com/html/webkaifa/Linux/2009/1106/3485.html
1)linux下高并发socket最大连接数所受的各种限制
linux平台上,无论编写客户端程序还是服务端程序,在进行高并发tcp链接处理时,最高的并发用户数都受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个tcp链接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开文件数限制:使用命令 ulimit -a (压到几千就用到了,几百用户到)
http://linuxguest.blog.51cto.com/195664/362366
2)top命令
3)使用
(A) 一边加压,一边打开linux的日志(tail -f catalina.out),一边打开top查看资源利用率;一边观察java应用服务器的线程执行情况 ps -ef | grep java 找到应用程序进程号,使用jstack 20332 >23096.txt 观