Запросы к БД стали тормозить

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
ЙЙ
phpBB 1.2.1
Сообщения: 25
Стаж: 20 лет

Запросы к БД стали тормозить

Сообщение ЙЙ »

Получил тут письмо от суппортов с хостинга:
Уважаемый клиент !
Работа вашей базы данных ХХХХ103 вызывает недопустимую нагрузку на сервер. Запросы к базе выполняются медленно и забирают много ресурсов сервера.
Чтобы не отключать вас от услуг хостинга за монополизацию ресурсов сервера мы временно ( до 19 часов ) закрыли доступ к базе ХХХХ103 . Ниже резюме на последние 150 медленных запросов к базе:

============================================
Total Query_time: 85.0666666666667 min
Average Query time: 36.9855072463768 sec

Total Lock_time: 591 sec
Average Lock time: 4.28260869565217 sec

Total Rows_sent: 20239
Average Rows sent by query: 146.659420289855

Total Rows_examined: 19146278
Average Rows examined by query: 138741.144927536

Rows_sent/Rows_examined: 0.105707229363326 %

Total Query: 138
------------------
Убедительная просьба пересмотреть запросы к базе и проиндексировать
необходимые поля таблиц.
В аттаче примеры медленных запросов.
Типовые запросы в аттаче:

SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time, f.forum_name
FROM phpbb_topics t, phpbb_users u, phpbb_posts p, phpbb_posts p2, phpbb_users u2, phpbb_forums f
WHERE t.topic_poster = u.user_id
AND t.forum_id in (2, 3, 8, 10, 11, 13, 14, 15, 16, 17, 18, 19)
AND p.post_id = t.topic_first_post_id
AND p2.post_id = t.topic_last_post_id
AND t.forum_id = f.forum_id
AND u2.user_id = p2.poster_id


AND t.topic_type <> 2
AND t.topic_type <> 1
AND t.topic_status <> 1
AND t.topic_status <> 2

ORDER BY t.topic_last_post_id DESC
LIMIT 10;
Вот сижу и чешу затылок.
Что делать?
http://www.HCV.ru ...в Вашем здоровье никто, кроме Вас, не заинтересован.
SPeller
phpBB 1.4.0
Сообщения: 32
Стаж: 19 лет 5 месяцев

Сообщение SPeller »

optimize table пробовал сделать?
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Убивайте Topics Anywhere, ставьте Recent Topics. И будет вам счастье.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
ЙЙ
phpBB 1.2.1
Сообщения: 25
Стаж: 20 лет

Сообщение ЙЙ »

SPeller писал(а):optimize table пробовал сделать?
Делал.

Добавлено спустя 1 час 43 минуты 34 секунды:
Xpert писал(а):Убивайте Topics Anywhere, ставьте Recent Topics
А чем это эффективнее?
Можно, для чайников?
http://www.HCV.ru ...в Вашем здоровье никто, кроме Вас, не заинтересован.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

По скорости и по нагрузке выиграете, перестанете получать предупреждения, подобные приведенному выше.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Дуся
phpBB 1.2.0
Сообщения: 11
Стаж: 20 лет

Сообщение Дуся »

Та же проблема. Хостер предъявляет претензии за медленные запросы.
Я вот смотрю на эти запросы и думаю, кому это надо-то такие вот запросы делать? И каквообще такой запрос может сделать обычный посетитель сайта?

---------------------------------------------------------
SELECT m.word_id
FROM phpbb_search_wordmatch m, phpbb_search_wordlist w
WHERE w.word_text IN ('5', '11', '11января', '12ч', '16', '2часа', '30', '3460', '38нед', '3мин', '53см', '–боюсь', '«Девчонки', '«волшебную»', '«приятные', '«трон»', 'Вот', 'Все', 'Всем', 'День', 'Димасик', 'Дмитрий', 'Еще', 'И', 'Ивановна', 'Ивановне', 'Какое', 'Мне', 'Мой', 'Начну', 'Наш', 'Нина', 'Обезболивали', 'Она', 'ПРЕЛЕСТЬ', 'Петровна', 'Помню', 'Потом', 'Приехала', 'Пролежала', 'Протянул', 'Рожать', 'Рождения', 'Светлана', 'Светлане', 'Сергеевич', 'Скажу', 'Схватки', 'акушерка', 'амазонка', 'бежала…', 'без', 'беременность', 'больболь', 'больно', 'бракосочетания', 'будет', 'был', 'была', 'были', 'быстро', 'быть', 'в', 'вас', 'ввиде', 'вдруг', 'вес', 'весом', 'вид', 'видимо', 'вот', 'впереди', 'впечатление', 'враги', 'врачебной', 'врачу', 'время', 'все', 'всех', 'вспоминать', 'вся', 'геометрической', 'главврач', 'гладила', 'глаза', 'говорила', 'говорит', 'говорю', 'грудь', 'даже', 'держала', 'дирижабль', 'для', 'дней', 'дня', 'договорились', 'другой', 'думала', 'душа', 'его', 'еще', 'жалкийпрежалкий', 'ждал', 'женщина', 'живот', 'живота', 'животик', 'за', 'завершения', 'закончится', 'замечательно', 'заскочила', 'зашивания', 'зря', 'и', 'играет', 'идут', 'изза', 'интервалом', 'интересном', 'к', 'каждую', 'как', 'какое', 'какой', 'капельница', 'капельницу', 'кипишует', 'когда', 'копьемкапельницей', 'котенок', 'которая', 'котором', 'которые', 'красивый', 'кругом', 'крючком', 'кто', 'лежала', 'любимому', 'любовь', 'маленький', 'мамой', 'медсестричку', 'между', 'мелочь', 'меня', 'месяцев', 'минут', 'минуту', 'мне', 'мои', 'мой', 'молящее', 'мою', 'моя', 'мужа', 'мужем', 'мясницком', 'набирали', 'надежды', 'наелась', 'наивная', 'напилась', 'написать', 'напрасными…тужилась', 'нараспашку', 'нас', 'начал', 'нашей', 'нашему', 'не', 'ней', 'ненавижу', 'неожиданностью', 'несчасную', 'нехуденькая', 'новая', 'ног', 'ноге', 'ноги', 'ноготочками', 'ногу', 'ножа', 'ночь', 'о', 'образа', 'общем', 'огромное', 'одна', 'одни', 'одно', 'одном', 'оказалась', 'окситоцина……и', 'он', 'она', 'опущу…', 'орала', 'осмотрела', 'отвлекала', 'отеков', 'открытие', 'офигела', 'очень', 'пальца', 'перед', 'перчатках', 'пиналась', 'плакала', 'плечь', 'подарок', 'поддержку', 'подержалась', 'пойду', 'показывают', 'полной', 'полночи', 'положении', 'положили', 'получается', 'полчаса', 'помню', 'понеслась', 'понимаю', 'после', 'последние', 'последний', 'посмотреть', 'потом', 'потому', 'потуг', 'почти', 'появилась', 'практики', 'при', 'прибежал', 'привела', 'привет', 'приглашают', 'приеду', 'приколы', 'принесли', 'приходит', 'прогрессии', 'прокалывает', 'пролежали', 'проходила', 'процедура', 'процедуры', 'прятала', 'пузырь', 'путь', 'раза', 'разговорами', 'разделочного', 'разреза', 'рай', 'раскрытие', 'рассказ', 'рассказывала', 'расти', 'ретировался', 'решила', 'ровно', 'родах', 'роддом', 'роддоме', 'роддомом', 'родзал', 'родился', 'рожай', 'рожать', 'ростом', 'ругалась', 'руках', 'руку', 'рычала', 'рядом', 'свадьбы', 'свалив', 'свежеподпиленными', 'своей', 'своем', 'своими', 'свой', 'сделал…', 'сделать', 'сейчас', 'семь', 'сидела', 'сидит', 'скоро', 'слезах', 'словами', 'смеётся', 'смешно', 'смотрела', 'сохранении', 'спалось', 'спасибо', 'спустя', 'сразу', 'стоит', 'стою', 'страха', 'судьба', 'схватилась', 'схватке', 'схватки', 'счастье', 'счастья…', 'таблеточку', 'так', 'такого', 'тебя', 'того', 'только', 'три', 'тужится', 'убежал', 'узнали', 'умру', 'уткой…', 'утра', 'фартуке', 'хватает', 'хорошая', 'хорошо', 'хотела', 'хотелось', 'хоть', 'цепко', 'через', 'четко', 'что', 'чтоб', 'чувствовала', 'чувствую', 'шейка', 'ширене', 'шла', 'шпион', 'эдакая', 'это', 'этом', 'юлой', 'я', 'января', 'яркое')
AND m.word_id = w.word_id
GROUP BY m.word_id
HAVING COUNT(m.word_id) > 24449;
-----------------------

Что делать-то? :(
Lico
phpBB 1.0.0
Сообщения: 2
Стаж: 17 лет 10 месяцев

Сообщение Lico »

Я бы в search.php сделал бы в начале скрипта так:

Код: Выделить всё

$_POST['search_keywords']=substr($_POST['search_keywords'],0,30);
Дуся
phpBB 1.2.0
Сообщения: 11
Стаж: 20 лет

Сообщение Дуся »

Так и сделала. Там не только POST, еще и GET. К обоим применила substr. Правда 50 символов сделала. Посмотрим как будет.
Спасибо!
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Если уж на то пошло, то по правилам программирования phpbb2 надо применять $HTTP_POST_VARS и $HTTP_GET_VARS вместо $_POST и $_GET соответственно
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html

Вернуться в «Поддержка phpBB 2.0.x»