我正在使用 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 美元的计划。