ab(ApacheBench,轻量级基准测试)、stress(系统资源压力测试);top/vmstat/iostat(Linux系统自带,监控资源占用)、Prometheus+Grafana(实时监控系统指标)、New Relic/Datadog(第三方应用性能监控)。适用于简单HTTP请求的性能测试,通过命令行快速获取响应时间、吞吐量等指标。
基本命令示例:
ab -n 1000 -c 100 http://your-centos-server/index.php/Index/index
参数说明:
-n 1000:总请求数(模拟1000次请求);-c 100:并发用户数(同时有100个请求);http://your-centos-server/index.php/Index/index:ThinkPHP应用的测试接口(替换为实际URL)。Requests per second(吞吐量,每秒处理的请求数)、Time per request(平均响应时间)、Failed requests(失败请求数)等指标。适用于需要模拟用户登录、表单提交、数据库交互等复杂场景的性能测试,支持生成可视化报告。
基本步骤:
bin目录,运行jmeter启动图形化界面;Test Plan→Add→Threads (Users)→Thread Group,设置线程数(并发用户)、Ramp-Up Period(启动时间)、循环次数;Thread Group→Add→Sampler→HTTP Request,填写服务器名称、端口、路径(如/index.php/Index/index);Thread Group→Add→Listener→View Results Tree(查看详细请求)、Summary Report(汇总报告);Start按钮,执行测试并查看结果。用于模拟CPU、内存、磁盘I/O等系统资源的负载,评估ThinkPHP应用在高负载系统环境下的稳定性。
基本命令示例:
stress --cpu 4;stress --vm 2 --vm-bytes 128M;stress --io 4;stress --net 2。Ctrl+C终止命令。系统资源监控
使用Linux自带命令实时监控系统资源占用,定位瓶颈:
top:查看CPU、内存占用率,排序进程(按P键按CPU排序,M键按内存排序);vmstat 1:每1秒刷新一次,查看系统整体状态(CPU、内存、I/O、进程等);iostat -x 1:查看磁盘I/O详细情况(%util表示磁盘利用率,超过70%可能存在瓶颈);sar -n DEV 1:查看网络流量(rxkB/s接收速率、txkB/s发送速率)。应用性能监控
config/app.php中app_debug = true),查看SQL执行时间、缓存命中率、请求耗时等信息;代码层面
SELECT *、减少JOIN操作),使用EXPLAIN分析SQL执行计划。服务器层面
config/app.php中gzip = true),减少传输数据量;Expires、Cache-Control),利用浏览器缓存静态资源;数据库层面
user_id、order_id);db_pool配置),减少连接创建和销毁的开销。通过以上流程,可全面评估ThinkPHP项目在CentOS上的性能表现,定位并解决性能瓶颈,确保应用在高负载场景下的稳定性和响应速度。