温馨提示×

LNMP在Ubuntu上的性能测试怎么做

小樊
54
2025-09-12 13:18:16
栏目: 智能运维

LNMP在Ubuntu上的性能测试方法

一、基础环境准备

确保已安装Nginx、MySQL、PHP及PHP-FPM,配置Nginx支持PHP(编辑/etc/nginx/sites-available/default,添加PHP处理配置并重启服务)。

二、核心性能测试工具及用法

  1. ApacheBench(ab)

    • 安装sudo apt install apache2-utils
    • 命令ab -n 1000 -c 100 http://your-server-ip/
      • -n:总请求数,-c:并发数,可测试HTTP服务吞吐量和响应时间。
  2. wrk(推荐,支持复杂场景)

    • 安装sudo apt install wrk
    • 命令wrk -t12 -c400 -d30s --latency http://your-server-ip/index.php
      • -t:线程数,-c:并发连接数,-d:测试时长,--latency:显示延迟分布,适合模拟高并发场景。
  3. sysbench

    • 安装sudo apt install sysbench
    • 测试CPU/内存
      • CPU:sysbench cpu --threads=4 --events=10000 run
      • 内存:sysbench memory --threads=4 --time=60 run
  4. Nginx状态监控

    • 启用状态模块:在Nginx配置中添加location /nginx_status,启用stub_status,通过http://your-server-ip/nginx_status查看连接数、请求速率等。
  5. MySQL性能测试

    • 慢查询分析mysqlslap --concurrency=10 --iterations=100 或通过SHOW STATUS LIKE 'Slow_queries'查看慢查询。

三、系统资源监控

  • 实时监控
    • top/htop:查看CPU、内存占用。
    • iostat -x 1:监控磁盘I/O。
    • vmstat 1:查看系统整体负载。
  • 日志分析
    • tail -f /var/log/nginx/access.log:分析Nginx访问日志。
    • journalctl -u nginx:查看Nginx服务日志。

四、优化建议

  • Nginx调优:调整worker_processes(设为CPU核心数)、worker_connections(提升并发能力),启用Gzip压缩和缓存。
  • PHP-FPM调优:修改pm.max_children(根据内存调整)、pm.start_servers,启用OPcache。
  • 系统级优化:调整内核参数(如net.core.somaxconn提升网络连接数上限)。

五、注意事项

  • 测试前确保服务器资源充足,避免影响生产环境。
  • 结合业务场景设计测试用例,例如模拟用户登录、数据查询等操作。
  • 参考官方文档调整工具参数,例如wrk可通过Lua脚本模拟复杂请求逻辑。

工具参考来源

0