压力测试

Tue 23 September 2025

压力测试

一、 什么是压力测试? 不断地向系统施加”压力”,测试系统在压力情况下的性能表现,考察当前软硬件环境下系统所能承受的最大负荷。 二、 为什么需要压力测试? 压测的目的是在于找到系统的瓶颈,对于web应用来说,系统瓶颈往往会是数据库,如果系统满负荷执行,数据库服务器的CPU和内存没有跑满,那一定是系统其他方面达到瓶颈了,只有反复测试定位系统瓶颈,进行优化。 三、 压力测试准备(一) 软硬件环境的准备 1. 软硬件版本要和正式服务器保持一致。 2. 网络也需要和正式服务器保持一致。 3. 在测试高并发的场景下,也要修改linux的默认并发数。 (二) 压测工具的准备 Apache JMeter应用程序是开源软件,100%纯Java应用而设计的负载测试功能行为和测量性能。 它最初是为测试Web应用程序而设计的,但此后已扩展到其他测试功能。 四、 压力测试关注的性能指标 (一) 外在指标 1. 吞吐量。每秒钟处理的请求数量; 2. 响应时间。应用处理一个请求的耗时; 3. 错误率。一批请求中出错的请求占比。 (二) 内在指标 1. CPU。linux下使用top命令; 2. 内存。linux下使用top命令; 3. 服务器负载。linux下使用uptime命令,按照经验值,服务器负载应位于阀值的70%-80%; 4. 网络。主要包括网络流量和网络连接状态的监控,使用nmon工具; 5. 磁盘IO linux下可以用iostat监控磁盘状态。 五、 解决方法 可以根据实际的服务器瓶颈,进行针对性的优化。

Category: 待整理