Xwab
Форумыnavigate_nextphpBB-WAP

Быстродействие phpbb
Сообщения
Ъb

Столкнувшись с проблемой быстродействия я начал изучать SQL запросы которые делает юзер при просмотре страничек и пришел к выводу что мускул работает как "краб на галерах".

Сравнив 2 запроса:

SELECT u.username, u.user_id, u.user_level, u.user_posts, u.user_post_leng, u.user_nic_color, u.user_yim, u.user_allowsmile, u.user_allow_viewonline, u.user_session_time, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid, u.user_reputation, u.user_reputation_plus, u.user_warnings, u.user_avatar_type, u.user_allowavatar, u.user_avatar, u.user_sig
   FROM phpbb_posts p, phpbb_users u, phpbb_posts_text pt
   WHERE p.topic_id = 1649
      
      AND pt.post_id = p.post_id
      AND u.user_id = p.poster_id
   ORDER BY p.post_time ASC
запрос занял 0.0542 сек.



SELECT p.*, u.username, u.user_id, u.user_level, u.user_posts, u.user_post_leng, u.user_nic_color, u.user_yim, u.user_allowsmile, u.user_allow_viewonline, u.user_session_time, pt.post_text, pt.post_subject, pt.bbcode_uid, u.user_reputation, u.user_reputation_plus, u.user_warnings, u.user_avatar_type, u.user_allowavatar, u.user_avatar, u.user_sig
FROM (
      SELECT *
      FROM phpbb_posts AS p
      WHERE p.topic_id = 1649
      ORDER BY p.post_time ASC
   ) AS p
INNER JOIN phpbb_posts_text AS pt ON p.post_id = pt.post_id
INNER JOIN phpbb_users AS u ON p.poster_id = u.user_id

запрос занял 0.0207 сек.


Я увидел, что кое что можно упростить

11 Янв 2012, 12:57
Ъb

Далее есть прекрасная таблица phpbb_sessions, которая дает о себе знать при ежедневном посещении толпы анонимусов, после запроса
DELETE FROM `phpbb_sessions`
WHERE session_user_id < 1
сразу все залетало, после чего я незадумываясь воткнул строчку

[php:1:3667a47f47]$sql = "DELETE FROM `phpbb_sessions`
WHERE session_user_id < 1
AND session_start < ".(time() - 3600);
if ( !$result = $db->sql_query($sql) )message_die(GENERAL_ERROR, 'Анонимусы не убиваемы О_о', '', __LINE__, __FILE__, $sql);
[/php:1:3667a47f47]
которая сносила всех анонимусов которые были час назад, сейчас жду результатов от этого.


__________
посл.ред. 11 Янв 2012, 13:04; всего 1 раз 11 Янв 2012, 13:02
DarveL

это уже тянет на оскар!!!!

11 Янв 2012, 13:03
Ъb

Ну в общем появилась идея поработать над всеми запросами и таблицами оптимизировать их для более быстрой работы и меньшей нагрузки на сервер.
Что скажите по этому поводу.

11 Янв 2012, 13:08
TOOZ

Ну делай.Сделаешь "phphbb-wap speed pro duo mega pack+" и всем будет счастье

11 Янв 2012, 13:10
Ъb

DarveL, ценю твой сарказм, но думаю он не совсем уместен, больше похоже не на шутку, а на глупый флуд.

11 Янв 2012, 13:11
DarveL

вообще надо быть сверх умным и иметь кучу времени, чтобы копаться в уг движке и уг коде, делая сомнительное счастье в 0.05 с которое так то нафиг и не нужно

11 Янв 2012, 13:12
Ъb

TOOZ, подобная мысля есть, например переписать поиск и viewtopic с нуля
добавлено спустя 1 минуту:
DarveL, ну когда страница грузиться за 5..10 секунд в этом есть смысл... а то что это УГ, то из говна всегда можно сделать конфетку

11 Янв 2012, 13:15
DarveL

не всегда.И обычно нет смысла.
Во вторых не 5 и не 10 с грузится.
Толку то что ты сделаешь 0.
ПОверь когда я был молодой и глупый я переписал пхпбб. Скорость приросла в разы+перевел на другой более гибкий и быстрый шаблонизатор, от форума почти ниче не осалось.
Значит легче написать с нуля.
Что и требовалось доказать.
з.ы. я переписывал код заново и полностью, а не как тут привычная школота копирайт сменят и говорят мы закрыли все уязвимости и переписали код на 50%

11 Янв 2012, 13:21
Ъb

DarveL, идея с шаблонизатором тоже была, даже в некоторых своих модах и вовсе без шаблонов пишу и все таки это не так важно.
Но в sql запросах все равно есть желание покопаться ибо начинаю видеть проблемы, чем больше постов тем и юзеров, тем медленнее начинает работать.
А вот подписваться своим именем здесь не собираюсь.

11 Янв 2012, 13:35
Ответить на тему