Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Проблема с долгим запросом после обновления с 2.3.5 до 3.4.4

Featured Replies

Posted

Во-первых, конвертирование личных сообщений заняло почти двое суток, но к этому я был уже готов, т.к. тестировал обновление.


После завершения обновления, я потестировал форум сам - всё работало достаточно шустро, но как только я пускал туда пользователей сайт почти сразу впадал в ступор - забивалась очередь в 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 работает быстро.

Не сталкивался ли кто с подобной проблемой?
Спасибо.

 

Какой сервер для БД используете? И попробуйте в ручную данную таблицу переконвертировать в utf8_general_ci и экспортировать обратно в БД.

Edited by Pred@tor

  • Author

Сервер БД - MySQL 5.5.31.

Таблица и так в utf8. Пробовал сделать её дамп, удалить и залить снова. Заметных улучшений нет. Подозреваю, что дело в самом запросе и существенно быстрее он выполняться не будет. Первый раз он выполняется секунд 20, последующие разы мгновенно, понятно, что кеш срабатывает, но после изменения таблицы кеш уже устаревает, а таблица у меня меняется постоянно, думаю даже каждую секунду.

 

Другой вопрос, есть ли знакомые форумы с очень большим числом посетителей? Может я бы связался с их админами, поспрашивал.

Сервер БД - MySQL 5.5.31.

Таблица и так в utf8. Пробовал сделать её дамп, удалить и залить снова. Заметных улучшений нет. Подозреваю, что дело в самом запросе и существенно быстрее он выполняться не будет. Первый раз он выполняется секунд 20, последующие разы мгновенно, понятно, что кеш срабатывает, но после изменения таблицы кеш уже устаревает, а таблица у меня меняется постоянно, думаю даже каждую секунду.

 

Другой вопрос, есть ли знакомые форумы с очень большим числом посетителей? Может я бы связался с их админами, поспрашивал.

worldoftanks.ru forums.ibresource.ru/

А ты попробуй включить Сжать javascript и CSS?,

Или напиши мне в лс. Попробуем исправить твою проблему.

  • Author

forums.ibresource.ru/

162 пользователя онлайн, у меня сейчас 4923 )

На их форум я уже писал, ничего интересного не посоветовали.

worldoftanks.ru

6947 онлайн. Вот это уже подходит. Спасибо. Отпишу им.

А ты попробуй включить Сжать javascript и CSS?,

Или напиши мне в лс. Попробуем исправить твою проблему.

Спасибо за предложение, но, думаю, пока не нужно. Напишу сначала админам форума танков )

162 пользователя онлайн, у меня сейчас 4923 )

На их форум я уже писал, ничего интересного не посоветовали.

6947 онлайн. Вот это уже подходит. Спасибо. Отпишу им.

Спасибо за предложение, но, думаю, пока не нужно. Напишу сначала админам форума танков )

Сразу говорю бесполезно, ибо они посылают куда подальше и не занимаются поддержкой стороних ресурсов. Я им писал уже как сделать на их форуме в ссылках русские буквы, так они сказали что наши админы супер умельцы сами знают что делать. Так что делай выводы ;)

Хотя всё таки надо бы взглянуть что у тебя вообще там творится.

Edited by Pred@tor

  • Author

Сразу говорю бесполезно

Жаль. Но надо попробовать.

Хотя всё таки надо бы взглянуть что у тебя вообще там творится.

Да толку нет, т.к. в продакшине сайт работает опять на старой версии. А сайт с новой версией стоит без нагрузки, а без нагрузки работает вполне сносно, хотя запрос и на пустом сервере отрабатывает не меньше 20-ти секунд.

Жаль. Но надо попробовать.

Да толку нет, т.к. в продакшине сайт работает опять на старой версии. А сайт с новой версией стоит без нагрузки, а без нагрузки работает вполне сносно, хотя запрос и на пустом сервере отрабатывает не меньше 20-ти секунд.

Попытка не пытка))

Ну а может всё таки стоит его покавырять? А нагрузку при необхадимости устроит)

  • Author

В настройках не стоит пункт автоподписки всех тем форума пользователями? В списке пинг-серверов пусто?

Автоподписка не включена. А вот пинг-серверы были, по-умолчанию, удалил, потестирую. Хотя странно как они могли влиять на приведённый запрос в базу.

Спасибо.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.