AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 796444
Accepted
KDX
KDX
Asked: 2016-08-13 01:49:47 +0800 CST2016-08-13 01:49:47 +0800 CST 2016-08-13 01:49:47 +0800 CST

如何调优 Nginx + MySQL + PHP-FPM 瓶颈以解决服务器高负载?

  • 772

我的服务器 Ubuntu 14.04.4 LTS 以高负载运行,目前运行一个带有 Nginx + Wordpress + W3 Total Cache + Memcached 的站点。

我不确定是否mysql会导致工作量问题。

这是和的屏幕htop截图mytop

我可以从中htop看出内存不是这里的瓶颈。

它表明mysqld并且php-fpm是使用最高资源的进程。

有人能告诉我如何解释mytop吗?它看起来正常吗?

1  [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||93.6%]     Tasks: 361, 71 thr; 12 running
2  [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||95.6%]     Load average: 19.52 22.34 19.45 
3  [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||97.5%]     Uptime: 71 days, 08:54:08
4  [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||96.8%]
Mem[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||5570/8015MB]
Swp[                                                                         0/0MB]

MySQL on localhost (5.7.13)
load 23.92 23.12 19.55 43/528 10012 up 7+04:05:52 [05:30:09]
Queries: 103.6M   qps:  175 Slow:  0.0  Se/In/Up/De(%):  79/00/00/00 
Sorts:  8693 qps now:  356 Slow qps: 0.0  Threads:  37 (   1/   3) 79/00/00/00 
Key Efficiency: 50.0%  Bps in/out: 28.8k/532.7k   Now in/out: 57.6k/880.7k

还是我应该考虑使用 fastcgi_cache 来避免命中 php-fpm?

更新:

我尝试重新启动我的所有服务、Nginx、PHP-FPM 和 MySQL。

我在一个流量相当高的网站上工作,每天浏览量为 110 万次。

重新启动所有服务后,资源再次快速上升。

在非高峰时段,我的 4 核机器上的负载值最大约为 4.00。

在高峰时段,负载在 20 到甚至 40 之间。

mysql cache wordpress performance-tuning bottleneck
  • 1 1 个回答
  • 2115 Views

1 个回答

  • Voted
  1. Best Answer
    Tim
    2016-08-15T15:45:04+08:002016-08-15T15:45:04+08:00

    mytop 输出并没有告诉我们什么在使用你的 CPU——或者至少我不明白。我只使用顶部/ htop。

    我写了一篇关于 Nginx、Wordpress 和缓存的相当大的六部分教程。其中的想法应该可以帮助您优化服务器。

    简而言之,您应该不惜一切代价避免使用 PHP。静态或半静态公共内容的缓存时间可以从 1 秒(微缓存)到 1 周,极大地减少了服务器的负载。这可以将吞吐量提高两个数量级,并大大减少响应时间。我还使用 CDN,CloudFlare免费层,用于静态资源缓存和加速 DNS 查找。

    • 0

相关问题

  • 开源与专有关系 db mgt 系统的优缺点是什么?

  • 在 solaris 10 上为 mysql 设置 max_allowed_pa​​cket

  • 如何移动 MySQL 的数据目录?

  • 通过 VPN 连接什么是远程服务器 IP?

  • mysql崩溃

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve