我的 VPS CPU 负载过高

我的 VPS CPU 负载过高

我使用 digitalocean 的 VPS。配置为:8GB RAM、4 核处理器、80GB SSD,并安装了 cpanel。大多数访问者都在网站上http://www.secretdiarybd.com/bn。在wordpress平台上。mysql数据库的大小目前为80MB。并发访问量大概在250-300人左右。my.cnf文件如下:

[mysqld]
default-storage-engine         = InnoDB
key-buffer-size                = 256M
myisam-recover                 = FORCE,BACKUP
max-allowed-packet             = 16M

tmp-table-size                 = 128M
max-heap-table-size            = 128M
query-cache-type               = 0
query-cache-size               = 128
max-connections                = 100
thread-cache-size              = 50
open-files-limit               = 65535
table-definition-cache         = 2024
table-open-cache               = 2024

# INNODB #
innodb-flush-method            = O_DIRECT
innodb-log-files-in-group      = 2
innodb-log-file-size           = 256M
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table          = 1
innodb-buffer-pool-size        = 1G
innodb-buffer-pool-instances   = 1

服务器负载始终为 30+,RAM 使用率约为 20%。如何降低服务器负载?请注意,网站和数据库已优化。

答案1

在 Web 服务器上缓存通常比使用 Wordpress 插件缓存更有效。我有一个Nginx 的 Wordpress/Nginx 缓存教程,但使用 Apache 也是可能的。这本文进入微缓存,如果您的内容变化很快,这将非常有用。大多数 Wordpress 博客都缓存得很好,您只需从缓存中排除已登录的用户即可。

答案2

对于一个同时访问量超过 200 的网站来说,这些值很正常。对于这样的流量,建议使用专用服务器。

与此同时,您可以安装名为 WP Super Cache 的免费 Wordpress 插件。选择最佳配置可能需要分析您的业务逻辑,但您可以按照以下提示设置插件:

  • 缓存模式= mod_rewrite 模式
  • 压缩= 已禁用,因为在很多情况下不需要它
  • 缓存清除= 已禁用(插件仍会自动清除更新或评论页面的缓存);
  • 仅清除发表评论时的帖子/页面= 已启用(仅当您的网站开放评论且评论数不会显示在页面外时,例如在帖子列表中)
  • 更新后清除所有页面/帖子= 已禁用(仅当您的网站未在主页或其他页面显示帖子列表时)
  • 排除的用户代理:从该字段中删除所有内容,这样搜索引擎也将看到该网站的快速缓存版本,并且您的 PageRank 也将从中受益。

相关内容