Во-первых, конвертирование личных сообщений заняло почти двое суток, но к этому я был уже готов, т.к. тестировал обновление.
После завершения обновления, я потестировал форум сам - всё работало достаточно шустро, но как только я пускал туда пользователей сайт почти сразу впадал в ступор - забивалась очередь в MySQL, веб-сервер запускал максимальное количество процессов и на этом всё заканчивалось.
По моим наблюдениям главным виновником был вот этот запрос:
SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1
Вот кусок от вывода show processlist;
| 1703 | d7 | localhost | d7 | Query | 915 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2059 | d7 | localhost | d7 | Query | 915 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2261 | d7 | localhost | d7 | Query | 913 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2313 | d7 | localhost | d7 | Query | 911 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2590 | d7 | localhost | d7 | Query | 905 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2679 | d7 | localhost | d7 | Query | 901 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2782 | d7 | localhost | d7 | Query | 898 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2854 | d7 | localhost | d7 | Query | 895 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2868 | d7 | localhost | d7 | Query | 894 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2929 | d7 | localhost | d7 | Query | 892 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 3002 | d7 | localhost | d7 | Query | 890 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 3009 | d7 | localhost | d7 | Query | 890 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
И далее ещё куча таких же, а потом уже и других запросов с небольшим временем выполнения.
По словам техподдержки Инвижна запрос выполняется при размещении постов. У меня он выполняется секунд 20 на "пустом" сервере, без посетителей. Таблица ibf_topics имеет 11 786 607 строк. А сообщений размещается туча - за сутки 50 тысяч новых тем и 60 тысяч новых постов, это в среднем 34 темы и 41 пост в минуту.
Форум большой, много пользователей, но уверен, что есть и ещё большие форумы и при этом нормально работающие.
Сервер у меня выделенный и неплохой - HP ProLiant DL380 G7, (2) Intel Xeon X5650, RAM 24GB, ну и RAID-массив из SAS-дисков.
Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.
Вопрос
malik
Во-первых, конвертирование личных сообщений заняло почти двое суток, но к этому я был уже готов, т.к. тестировал обновление.
После завершения обновления, я потестировал форум сам - всё работало достаточно шустро, но как только я пускал туда пользователей сайт почти сразу впадал в ступор - забивалась очередь в MySQL, веб-сервер запускал максимальное количество процессов и на этом всё заканчивалось.
По моим наблюдениям главным виновником был вот этот запрос:
SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1
Вот кусок от вывода show processlist;
| 1703 | d7 | localhost | d7 | Query | 915 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2059 | d7 | localhost | d7 | Query | 915 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2261 | d7 | localhost | d7 | Query | 913 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2313 | d7 | localhost | d7 | Query | 911 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2590 | d7 | localhost | d7 | Query | 905 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2679 | d7 | localhost | d7 | Query | 901 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2782 | d7 | localhost | d7 | Query | 898 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2854 | d7 | localhost | d7 | Query | 895 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2868 | d7 | localhost | d7 | Query | 894 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 2929 | d7 | localhost | d7 | Query | 892 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 3002 | d7 | localhost | d7 | Query | 890 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
| 3009 | d7 | localhost | d7 | Query | 890 | Sending data | SELECT SUM(posts) as replies FROM ibf_topics WHERE approved=1 |
И далее ещё куча таких же, а потом уже и других запросов с небольшим временем выполнения.
По словам техподдержки Инвижна запрос выполняется при размещении постов. У меня он выполняется секунд 20 на "пустом" сервере, без посетителей. Таблица ibf_topics имеет 11 786 607 строк. А сообщений размещается туча - за сутки 50 тысяч новых тем и 60 тысяч новых постов, это в среднем 34 темы и 41 пост в минуту.
Форум большой, много пользователей, но уверен, что есть и ещё большие форумы и при этом нормально работающие.
Сервер у меня выделенный и неплохой - HP ProLiant DL380 G7, (2) Intel Xeon X5650, RAM 24GB, ну и RAID-массив из SAS-дисков.
Старая версия IPB работает быстро.
Не сталкивался ли кто с подобной проблемой?
Спасибо.
Ссылка на комментарий
Поделиться на других сайтах
2 ответа на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.