На XEN VPS с CentOS (2 ГБ ОЗУ, 2 ядра) есть единственный веб-сайт wordpress со средними посетителями, который ранее работал на дешевом виртуальном хостинге без подобных проблем (переносился по другим причинам).
select
запросов, в среднем 200к select
запросов в час.Сетевой трафик MySQL:
----------------------------------
| Traffic | per hour |
----------------------------------
| Received | 64.6 MiB |
| Sent | 1.5 GiB |
| Total | 1.5 GiB |
----------------------------------
free -m
результат:
total used free shared buffers cached
Mem: 1868 1636 232 4 32 1113
-/+ buffers/cache: 490 1378
Swap: 1023 57 966
Продолжайте получать две ошибки каждые 4-5 часов, например:
Серии (20-40) этой ошибки:
Error while sending QUERY packet. PID=XXXX in ...wp-db.php on line 1942
Некоторые (3-5) из этой ошибки:
mysqli_query(): MySQL server has gone away in ...
Это происходит в течение нескольких секунд или в основном 5 минут, а затем еще 4-5 часов без ошибок.
Как я понял это связано с max_allowed_packet
, поэтому я безуспешно пробовал значения от 256M до 900M, также изменил некоторые другие конфигурации, но потом вернулся обратно.
Текущий my.cnf
файл, как показано ниже (он был пуст, когда возникла проблема):
[mysqld]
max_allowed_packet=524288000
open_files_limit=15000
wait_timeout=70
connect_timeout=70
Любые предложения или помощь действительно приветствуются.
Вы также можете попробовать увеличить innodb_buffer_pool_size за эта тема. Это помогало мне в прошлом.