Подскажите кто сталкивался с таким, или мож быть есть решение. Есть сайт и он не стого не всего стал работать очень медленно когда переходишь по разделам.
Запустил скрипт проверки базы, он подтвердил использование разных движков БД:
-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 2G (Tables: 214)
[--] Data in InnoDB tables: 6G (Tables: 2034)
На что стоит обратить внимание при оптимизации:
[!!] Query cache is disabled
[!!] Joins performed without indexes: 14304
[!!] Thread cache is disabled
[!!] Table cache hit rate: 0% (64 open / 964K opened)
[!!] InnoDB data size / buffer pool: 6.2G/8.0M
Мне пореекомендовали:
-------- Recommendations -----------------------------------------------------
Variables to adjust:
query_cache_size (>= 8M)
join_buffer_size (> 128.0K, or always use indexes with joins)
thread_cache_size (start at 4)
table_cache (> 64)
innodb_buffer_pool_size (>= 6G)
Сверил с файлом my.cnf, который использую.
Поставил максимальные настройки (т.к. памяти у меня на сервере гораздо больше чем 4Гб) из двух источников:
thread_cache_size = 8
query_cache_size = 64M
innodb_buffer_pool_size = 6G
table_cache = 128
join_buffer_size = 256K
key_buffer_size = 512M
зачем?
Лимит памяти 256Мб должен хватать для всего. Если у вас недостача памяти, значит на сайте серьезная ошибка в каком-то из модулей. Собственно обычному сайту даже 128Мб хватает, сложному с кучей модулей и с большими объемами данных 196Мб хватит.
Вообщем 256Мб это уже с запасом.
Время выполнения 120с - зачем? Если так долго работает РНР, то нужно срочно делать оптимизацию. У вас что юзеры ждут 1-2 минуту на загрузку страницы?
Обычный юзер уйдет если страница за 10 секунд не загрузилась и то он уже терпеливый до ужаса
зачем?
Лимит памяти 256Мб должен хватать для всего. Если у вас недостача памяти, значит на сайте серьезная ошибка в каком-то из модулей. Собственно обычному сайту даже 128Мб хватает, сложному с кучей модулей и с большими объемами данных 196Мб хватит.
Вообщем 256Мб это уже с запасом.
Время выполнения 120с - зачем? Если так долго работает РНР, то нужно срочно делать оптимизацию. У вас что юзеры ждут 1-2 минуту на загрузку страницы?
Обычный юзер уйдет если страница за 10 секунд не загрузилась и то он уже терпеливый до ужаса :)
Да когда первый раз заходишь в раздел примерно 10-20 секунд грузит птом за 3-5 секунды загружает.
Комментарии
Возможно хостер подселил на сервер еще 10050 пользователей.
Да не исключно у меня выделенный сервре Core i7 3.9Ghz (4 cores) / 32Gb RAM / 2x2000Gb SATA. И на нем только этот вебсайт.
Запустил скрипт проверки базы, он подтвердил использование разных движков БД:
-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 2G (Tables: 214)
[--] Data in InnoDB tables: 6G (Tables: 2034)
На что стоит обратить внимание при оптимизации:
[!!] Query cache is disabled
[!!] Joins performed without indexes: 14304
[!!] Thread cache is disabled
[!!] Table cache hit rate: 0% (64 open / 964K opened)
[!!] InnoDB data size / buffer pool: 6.2G/8.0M
Мне пореекомендовали:
-------- Recommendations -----------------------------------------------------
Variables to adjust:
query_cache_size (>= 8M)
join_buffer_size (> 128.0K, or always use indexes with joins)
thread_cache_size (start at 4)
table_cache (> 64)
innodb_buffer_pool_size (>= 6G)
Сверил с файлом my.cnf, который использую.
Поставил максимальные настройки (т.к. памяти у меня на сервере гораздо больше чем 4Гб) из двух источников:
thread_cache_size = 8
query_cache_size = 64M
innodb_buffer_pool_size = 6G
table_cache = 128
join_buffer_size = 256K
key_buffer_size = 512M
+ еще в настройках php.ini поставил
Время выполнения 120 с.
Лимит памяти 4096 Mb.
Мо жбыть что то еще порекомендуите ?
https://www.drupal.org/project/entitycache
зачем?
Лимит памяти 256Мб должен хватать для всего. Если у вас недостача памяти, значит на сайте серьезная ошибка в каком-то из модулей. Собственно обычному сайту даже 128Мб хватает, сложному с кучей модулей и с большими объемами данных 196Мб хватит.
Вообщем 256Мб это уже с запасом.
Время выполнения 120с - зачем? Если так долго работает РНР, то нужно срочно делать оптимизацию. У вас что юзеры ждут 1-2 минуту на загрузку страницы?
Обычный юзер уйдет если страница за 10 секунд не загрузилась и то он уже терпеливый до ужаса
Да когда первый раз заходишь в раздел примерно 10-20 секунд грузит птом за 3-5 секунды загружает.
кеширование views + APC
Стоит библиотка PECL uploadprogress
ну и что?
Все решил проблему. Просто обновив PHP на сервер до последней версии, и ошибки пропали и стабильно стал работать сайт.