Производительность LS
Добрый день.
Я наконец то перенес сайт с дле на LS. Кое-что о производительности. Дано:
Сервер
Процессор Intel® Xeon® CPU E5620 @ 2.40GHz 2400.000 Mhz X 16
Оперативная память 16 гигов
БД 3,3 Гб
Пользователей: 262799
Блогов: 262877
Топиков: 399495
Комментариев: 928242
Запросов в секунду — до 60
Посетители онлайн — до 200 (по данным Яндекс Метрики)
На ДЛЕ не тормозило вообще
Про ЛС читаем дальше
Установлена в общем чистая LS из плагинов Nice URL и Main Preview
Включен memcache.
Просто при просмотре страниц все еще более-менее, но стоит написать хотя бы комментарий и начинается жесть.
Просмотр профиля:
или вот например просмотр личного сообщения
вот главная
Вижу сам что мускуль тормозит, но блин, раньше с дле же не тормозило.
И самая жесть — это я добавил комментарий (а добавляется он ооочень долго), и параллельно открыл главную (данные с главной):
48 секунд! Откуда?
Господа, прошу вас помочь разобраться. Возможно что-то в движке подкрутить стоит, возможно в мускуле. Очень надеюсь на ваш совет.
Я наконец то перенес сайт с дле на LS. Кое-что о производительности. Дано:
Сервер
Процессор Intel® Xeon® CPU E5620 @ 2.40GHz 2400.000 Mhz X 16
Оперативная память 16 гигов
БД 3,3 Гб
Пользователей: 262799
Блогов: 262877
Топиков: 399495
Комментариев: 928242
Запросов в секунду — до 60
Посетители онлайн — до 200 (по данным Яндекс Метрики)
На ДЛЕ не тормозило вообще
Про ЛС читаем дальше
Установлена в общем чистая LS из плагинов Nice URL и Main Preview
Включен memcache.
Просто при просмотре страниц все еще более-менее, но стоит написать хотя бы комментарий и начинается жесть.
MySql
query: 12
time: 0,922
Cache
query: 82
— set: 5
— get: 41
time: 0,01271
PHP
time load modules: 0,052
full time: 47,169
Просмотр профиля:
MySql
query: 20
time: 0,006
Cache
query: 67
— set: 3
— get: 35
time: 0,00866
PHP
time load modules: 0,05
full time: 14,532
или вот например просмотр личного сообщения
MySql
query: 73
time: 0,029
Cache
query: 439
— set: 4
— get: 207
time: 0,03226
PHP
time load modules: 0,05
full time: 3,08
вот главная
MySql
query: 19
time: 1,72
Cache
query: 102
— set: 11
— get: 55
time: 0,01993
PHP
time load modules: 0,053
full time: 2,181
Вижу сам что мускуль тормозит, но блин, раньше с дле же не тормозило.
И самая жесть — это я добавил комментарий (а добавляется он ооочень долго), и параллельно открыл главную (данные с главной):
MySql
query: 26
time: 2,58
Cache
query: 103
— set: 14
— get: 59
time: 0,04127
PHP
time load modules: 0,062
full time: 48,249
48 секунд! Откуда?
Господа, прошу вас помочь разобраться. Возможно что-то в движке подкрутить стоит, возможно в мускуле. Очень надеюсь на ваш совет.
59 комментариев
Только в конфиге если не ошибаюсь, всего 10 штук за раз прописано. Пропишите больше (у меня одна тачка 300 писем за минуту легко рассылает, там сами посмотрите сколько ваша сможет отсылать).
Если понадобится слать по 10000 за пол-часа, возможно придется апдейтить систему рассылки
Так из коробки практически все всегда тормозит на больших нагрузках. Поискать слабые места и оптимизировать придется однозначно.
А результатами, советами с общественностью бы поделились…
Все летает кроме коннекта с mysql, при авторизации бывают фризы по 20-30 секунд, независимо от хостеров. Иногда активации юзера не срабатывают, иногда рейтинг измененный не отображается сразу или просто теряется. Такое есть и с этим нужно как-то жить. Да и плагины оставлены лишь самые необходимые.
Да, есть над чем работать. Я не знаю вы используете nice url или нет, (для сохранения старых url страниц в поисковиках) но он тоже порядочно кушает.
Это главная
Тогда только slow_query.log в руки и вперед.
Там же на главной из сложных выборок — только облако тегов, по идеи. Остальные выборки должны идти по индексам.
Правильно ли я понимаю что тут была ситуация что если одна страница висит (отправляя в этот момент письма) то и главная не начнет отображаться пока предыдущая страница не отвиснет?
Так и буду делать
Опытные господа, подскажите, это кривые настройки php-fpm, nginx или это нормальное поведение?
По slow_query.log будет интересно если вы скажите какие запросы тормозят работу. Может коллективно придумаем как их изменить в лучшую сторону. Готов поучаствовать
Абсолютный чемпион:
Второе место:
Третье место:
Данные предоставлены утилитой mysqldumpslow
А теги после переноса БД не смотрели? Там мусора точно нет?
Я когда с WP конвертил — офигивал от того, что мне там в теги нагенерировалось.
Вообще — каков процент уникальности тегов?
можно здесь github.com/livestreet/livestreet/blob/1.0.1/classes/modules/topic/Topic.class.php#L1125 заменить на
У топика 500 комментариев, это комменты так долго обрабатываются?
По крайней мере на 0.4.2 давало выигрыш при большом количестве комментов… пока там смарти для 700100500 комментов загружал шаблон… выгружал шаблон… Сразу говорю, что на 0.5.1 и выше не пробовал, может уже роли не играет.
Факт остается фактом, на 0.4.2 такая проблема точно была, ноне знаю как теперь дело обстоит с переходом на Smarty3 — поэтому и сказал — попробуйте, этож дело 30 секунд…