+3.32
Рейтинг
11.23
Сила

Данил

История про нагрузку и как я с ней боролся.

Случилось так, что на одном из проектов full time стал переваливать за 1,5 сек и при этом сжирался весь проц. При этом все остальные показали были в норме: база — 0,002 сек, кеш — 0,01 сек.

Пришлось прикручивать профайлер и смотреть, в чем дело.

Виноват оказался Smarty, который из 1,5 секунд работал 1,2 (шаблон, на проекте, используется стандартный с легкими изменениями).

Копаясь дальше нашел самый сложный шаблон comments_tree.tpl, который выполняет в цикле инклюд шаблона comment.tpl.

Проблема решилась отказом от инклюда и переносом содержимого из comment.tpl в comments_tree.tpl.

full time на топиках с 400+ комментариев не превышает 0,4 сек.

Надеюсь кому-то поможет.

Googly Analitycs с новым API. Работает.

Привет уважаемое сообщество LiveStreet. Мы от студии DevArt, решили сделать небольшой новогодний подарок любителям LS и Google. В своё время (примерно 12 октября) компания Google сменила API, и старая версия работать перестала. Тема замялась. А жаль :). Мы нашли способ заставить эту красотищу работать.

Читать дальше →

Ошибка при авторизации

Доброго времени суток!
При входе на сайт происходит ошибка такого рода:

SQL Error: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay at /home/classes/modules/topic/mapper/Topic.mapper.class.php line 460
Array ( [code] => 1104 [message] => The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay [query] => SELECT t_fast.*, tc.*, u.user_login as user_login, IF(tv.topic_id IS NULL,0,1) as user_is_vote, tv.vote_delta as user_vote_delta, IF(tqv.topic_id IS NULL,0,1) as user_question_is_vote, bu.is_moderator as user_is_blog_moderator, bu.is_administrator as user_is_blog_administrator, IF(tr.comment_count_last IS NULL,t_fast.topic_count_comment,t_fast.topic_count_comment-tr.comment_count_last) as count_comment_new, IF(ft.topic_id IS NULL,0,1) as topic_is_favourite FROM ( SELECT t.*, b.blog_title as blog_title, b.blog_type as blog_type, b.blog_url as blog_url, b.user_owner_id as blog_owner_id FROM prefix_topic as t, prefix_blog as b WHERE 1=1 AND t.topic_publish = 1 AND ( t.topic_rating >= 1 or topic_publish_index=1 ) AND b.blog_type in ('personal','open') AND t.blog_id=b.blog_id ORDER by t.topic_date_add desc LIMIT 0, 10 ) as t_fast JOIN prefix_user AS u ON t_fast.user_id=u.user_id LEFT JOIN ( SELECT topic_id, vote_delta FROM prefix_topic_vote WHERE user_voter_id = 1 ) AS tv ON t_fast.topic_id=tv.topic_id LEFT JOIN ( SELECT topic_id FROM prefix_favourite_topic WHERE user_id = 1 ) AS ft ON t_fast.topic_id=ft.topic_id LEFT JOIN ( SELECT topic_id, comment_count_last FROM prefix_topic_read WHERE user_id = 1 ) AS tr ON t_fast.topic_id=tr.topic_id LEFT JOIN ( SELECT topic_id FROM prefix_topic_question_vote WHERE user_voter_id = 1 ) AS tqv ON t_fast.topic_id=tqv.topic_id LEFT JOIN ( SELECT is_moderator, is_administrator, blog_id FROM prefix_blog_user WHERE user_id = 1 ) AS bu ON t_fast.blog_id=bu.blog_id JOIN prefix_topic_content AS tc ON t_fast.topic_id=tc.topic_id order by t_fast.topic_date_add desc; [context] => /home/classes/modules/topic/mapper/Topic.mapper.class.php line 460 )


Заметим, что эти ошибки постоянно происходят у юзеров с правами админа.

В чем проблема? Заранее спасибо.