Проблема с БД

Basoleg

Проверенные
Сообщения
53
Реакции
13
Баллы
11,005
После обновления версии форума, а возможно и до стал сильно подвисать форум.
Поставил debug mode
модуль Unread Post Count почему-то создает такую нагрузку
Вот инфа:

один из запросов:
SELECT COUNT(*)
FROM xf_post AS post
Params: 1, 1, 1420473394
Run Time: 2.491606

Удалил модуль, проблема не всплывает так сильно, но всё равно форум может уйти в аут полный
Когда мало людей онлайн, то терпимо, но при более 5 онлайн начинается полная паника.

При просмотре таблицы через мускул есть инфа:
Код:
Индексы unread_post_count_post_date и post_date равнозначны и один из них может быть удалён.

Может ли быть проблема из-за индексов? Можно ли удалить индексы unread_post_count_post_date?
 
Hope, забыл указать что все плагины уже отключил.
Отключил вообще всё что можно.

За индексы я только спрашиваю. А то что проблема в БД это точно, только вот в чем. Вот и думаю могут ли индексы так влиять.

В аут может уйти и на более 10 секунд

Да и модуль Unread Post Count почти у всех стоит. Тут думаю дело не в нем, а то что он не может нормально сделать запрос и вот и висит всё.
 
Тут явно тогда проблема не в XenForo, тут уже какая-то специфика PMA... Но это мне так кажется, но я такого ранее не встречал.
Ничего тут не подскажу даже.
 
да да, возможно даже просто конфиг на ВПС правильно сделать под БД. Или вычислить запрос, далее таблицу и смотреть что с ней.

Если есть спец. от которого будет результат, то готов и платно рассмотреть, главное, чтоб помогло.
 
О вот и проблема выскочила в админке. Как раз связанная с сессией пользователя. Ведь глючит именно после авторизации. Сейчас напишу ошибку

Код:
Zend_Db_Statement_Mysqli_Exception: Mysqli prepare error: Table '***_xenforo.xf_session' doesn't exist - library/Zend/Db/Statement/Mysqli.php:77
Сгенерирована пользователем: Неизвестная учётная запись, Сегодня, в 18:09
Трассировка стэка
#0 /***/library/Zend/Db/Statement.php(115): Zend_Db_Statement_Mysqli->_prepare('INSERT INTO `xf...')
#1 /***/library/Zend/Db/Adapter/Mysqli.php(381): Zend_Db_Statement->__construct(Object(Zend_Db_Adapter_Mysqli), 'INSERT INTO `xf...')
#2 /***/library/Zend/Db/Adapter/Abstract.php(478): Zend_Db_Adapter_Mysqli->prepare('INSERT INTO `xf...')
#3 /***/library/Zend/Db/Adapter/Abstract.php(574): Zend_Db_Adapter_Abstract->query('INSERT INTO `xf...', Array)
#4 /***/library/XenForo/Session.php(814): Zend_Db_Adapter_Abstract->insert('xf_session', Array)
#5 /***/library/XenForo/Session.php(532): XenForo_Session->saveSessionToSource('e11bb54fd16762d...', false)
#6 /***/library/XenForo/Controller.php(412): XenForo_Session->save()
#7 /***/library/XenForo/Controller.php(356): XenForo_Controller->updateSession(Object(XenForo_ControllerResponse_Message), 'XenForo_Control...', 'Post')
#8 /***/library/XenForo/FrontController.php(354): XenForo_Controller->postDispatch(Object(XenForo_ControllerResponse_Message), 'XenForo_Control...', 'Post')
#9 /***/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#10 /***/index.php(13): XenForo_FrontController->run()
#11 {main}
Содержимое запроса
array(3) {
  ["url"] => string(39) "***/goto/post?id=60209"
  ["_GET"] => array(1) {
    ["id"] => string(5) "60209"
  }
  ["_POST"] => array(0) {
  }
}

и

Код:
Zend_Db_Statement_Mysqli_Exception: Mysqli prepare error: Table '***_xenforo.xf_template_compiled' doesn't exist - library/Zend/Db/Statement/Mysqli.php:77
Сгенерирована пользователем: Неизвестная учётная запись, Сегодня, в 18:09
Трассировка стэка
#0 /***/library/Zend/Db/Statement.php(115): Zend_Db_Statement_Mysqli->_prepare('????SELECT titl...')
#1 /***/library/Zend/Db/Adapter/Mysqli.php(381): Zend_Db_Statement->__construct(Object(Zend_Db_Adapter_Mysqli), '????SELECT titl...')
#2 /***/library/Zend/Db/Adapter/Abstract.php(478): Zend_Db_Adapter_Mysqli->prepare('????SELECT titl...')
#3 /***/library/Zend/Db/Adapter/Abstract.php(808): Zend_Db_Adapter_Abstract->query('????SELECT titl...', Array)
#4 /***/library/XenForo/Template/Public.php(130): Zend_Db_Adapter_Abstract->fetchPairs('????SELECT titl...', Array)
#5 /***/library/XenForo/Template/Abstract.php(572): XenForo_Template_Public->_getTemplatesFromDataSource(Array)
#6 /***/library/XenForo/Template/Abstract.php(556): XenForo_Template_Abstract->_loadTemplates()
#7 /***/library/XenForo/Template/Abstract.php(180): XenForo_Template_Abstract->_loadTemplate('PAGE_CONTAINER')
#8 /***/library/XenForo/Template/Public.php(110): XenForo_Template_Abstract->render()
#9 /***/library/XenForo/ViewRenderer/HtmlPublic.php(139): XenForo_Template_Public->render()
#10 /***/library/XenForo/FrontController.php(618): XenForo_ViewRenderer_HtmlPublic->renderContainer('<div class="bas...', Array)
#11 /***/library/XenForo/FrontController.php(158): XenForo_FrontController->renderView(Object(XenForo_ControllerResponse_View), Object(XenForo_ViewRenderer_HtmlPublic), Array)
#12 /***/index.php(13): XenForo_FrontController->run()
#13 {main}
Содержимое запроса
array(3) {
  ["url"] => string(49) "http://disput-pmr.ru/find-new/868347/posts?page=8"
  ["_GET"] => array(1) {
    ["page"] => string(1) "8"
  }
  ["_POST"] => array(0) {
  }
}

Сейчас погляжу эти таблицы
 
Hope, прикол в том что они есть))

Сейчас чистую 1.4.4 поставлю и сравню в чем фишка

В общем не думаю что проблема в этом. Может глюк просто, т.к. ошибка не часто такая выскакивает.

Короче что сделал еще:
оставил всё как есть и очистил таблицу с сообщениями. Всё сразу летает. + через debug все время смотрел. При сообщениях 1 запрос
SELECT COUNT(*)
FROM xf_post AS post
более 2,5 секунд

При чистых сообщениях доли секунды.

У человека 170k сообщений, говорит уходит 0,5 секунды на этот запрос.

Т.е. проблема именно в таблице сообщений, но сравнил с чистой установкой все поля, всё на месте, т.е. предположение только одно что таблица большая и настройки сервера надо подкорректировать скорее всего.

Просто уже измучился совсем, уже других вариантов даже не вижу причин

Hope, спасибо. Думаю обращусь к Jumuro, если подтвердит что от этого.
 
  • Мне нравится
Реакции: Hope
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу