我的 Vps 太脆弱了

我的 Vps 太脆弱了

我正在使用 digitalocean 5 美元计划。

已安装 1 个 CPU、512MB RAM、mysql + apache、nginx + centos 6.5 + cpanel。其上有 2 个 wordpress 网站。

但是如果我重新加载我的某个网站的页面,CPU 使用率就会增加到 50%、60%。如果我从 woorank(SEO 分析器)检查我的网站,我的服务器就会崩溃,CPU 和内存使用率就会增加到 100%。这些网站不是很大。我可以说很新。我该怎么办?在共享主机中,我获得了更高的性能。

Htop 离开:

在此处输入图片描述

当我刷新我的一个 WordPress 网站的任何页面时,Htop:

在此处输入图片描述

我正在使用 wp-super cache 和 cloudflare。没有安装太多插件,只安装了必要的插件。

这是my.cnf

[mysqld]
     port            = 3306
     socket          = /var/lib/mysql/mysql.sock
     default-storage-engine=MYISAM 
     max_connections = 50
     key_buffer_size = 16M
     max_allowed_packet = 1M
     table_open_cache = 1000
     sort_buffer_size = 64K
     read_buffer_size = 256K
     read_rnd_buffer_size = 256K
     net_buffer_length = 2K
     thread_cache_size = 128
     query_cache_type = 1
     query_cache_size = 16M
     query_cache_limit = 1M
     log-slow-queries= /var/lib/mysql/slow.log
     log-error = /var/lib/mysql/error.log
     expire_logs_days   = 10
     max_binlog_size         = 100M

     # For low memory, InnoDB should not be used so keep skip-innodb uncommented unless required
     skip-innodb

     # Uncomment the following if you are using InnoDB tables
     #innodb_data_home_dir = /var/lib/mysql/
     #innodb_data_file_path = ibdata1:10M:autoextend
     #innodb_log_group_home_dir = /var/lib/mysql/
     #innodb_log_arch_dir = /var/lib/mysql/
     # You can set .._buffer_pool_size up to 50 - 80 %
     # of RAM but beware of setting memory usage too high
     #innodb_buffer_pool_size = 16M
     #innodb_additional_mem_pool_size = 2M
     # Set .._log_file_size to 25 % of buffer pool size
     #innodb_log_file_size = 5M
     #innodb_log_buffer_size = 8M
     #innodb_flush_log_at_trx_commit = 1
     #innodb_lock_wait_timeout = 50

     [mysqldump]
     quick
     max_allowed_packet = 16M

     [mysql]
     no-auto-rehash
     # Remove the next comment character if you are not familiar with SQL
     #safe-updates

     [isamchk]
     key_buffer = 8M
     sort_buffer_size = 8M

     [myisamchk]
     key_buffer = 8M
     sort_buffer_size = 8M

     [mysqlhotcopy]
     interactive-timeout

这是我的 Apache 配置:

Start Servers : 1
Min. Spare Servers: 5
Max. Spare Servers: 10
Server limit : 256
Max clients : 15
Max request per child :10000
Keep-alive : ON
Keep-alive timeout: 15
Max keep alive request: 100
Timeout: 300

答案1

5 美元的虚拟机无法容纳完整的 cPanel 安装。

一些建议:

  • 配置 MySQL 使用最小设置示例 .cnf
  • 禁用 Apache 中所有不必要的模块,并调整最大/最小/备用服务器的数量
  • 考虑切换到 nginx 和 php-fpm
  • 研究将网站转换为静态 HTML 的 Wordpress 插件
  • 使用 CloudFlare 免费帐户保护您的服务器免受使用高峰的影响

如果您计划将其用于 cPanel 网络托管,我会考虑使用更大的 VM(甚至多个更大的 VM)。

答案2

网站本身可能不是很大,但如果您不采取措施优化并保持较小的规模,仅运行 apache(和 php)和 mysql 以及操作系统就可能超出您分配的内存(您正在这样做,请查看您的交换使用情况)。512MB 现在并不能让您走得太远,尤其是在 php 和 apache 处于默认设置的情况下。考虑优化

您的程序以减少内存占用,并将其活动进程/侦听器减少到最低限度。如果您要在嵌入式机器上运行,则必须像嵌入式机器一样运行它..或者升级到 10 美元的计划。

相关内容