Я использую тарифный план digitalocean за 5 долларов.
Установлен 1 процессор, оперативная память 512 МБ, mysql + apache, nginx + centos 6.5 + cpanel. 2 сайта wordpress по этому поводу.
Но если я перезагружаю страницу одного из своих сайтов, использование процессора увеличивается до 50%, 60%. Если я проверяю mysite из woorank (анализатор SEO), мой сервер дает сбой, использование процессора и оперативной памяти увеличивается до 100%. Эти сайты не такие уж большие. Могу сказать новое. Что я могу с этим поделать? На виртуальном хостинге я получаю гораздо больше производительности.
Htop прочь:
Htop, когда я обновляю любую страницу одного из своих сайтов wordpress:
Я использую 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
Виртуальная машина стоимостью 5 долларов не может содержать полную установку cPanel.
Несколько предложений:
Если вы планируете использовать это для веб-хостинга cPanel, я бы подумал об использовании более крупной виртуальной машины (или даже нескольких более крупных виртуальных машин).
Сами сайты могут быть не такими большими, но просто запущенные apache (и php) и mysql, а ОС может превысить выделенный вам RAM (что вы делаете, посмотрите использование свопа), если вы не примете меры по оптимизации и сохранению мелочи. В наши дни 512 МБ не очень далеко, особенно с настройками php и apache по умолчанию.
Рассмотрите возможность оптимизации ваших программ для небольшого объема памяти и сокращения их активных процессов / слушателей до минимума. Если вы собираетесь работать на машине встроенного размера, вам придется запускать ее как встроенную машину ... или перейти на план в 10 долларов.