DjangoBB

Django based forum engine

  • You are not logged in.

#1 April 20, 2011 20:35:33

nooldez
Registered: 2010-01-08
Posts: 18
Reputation: +  0  -
Profile   Send e-mail  

Переехал на django-bb

Привет!

Переверл свой форум на djangobb c simplemachinesforum http://gamekuba.ru/ru/forum/ [gamekuba.ru]
В форуме примерно 47 000 постов.
Теперь наблюдаю серьезные тормоза.

  • при обновлении темы - видимо обновляется поисковый индекс. Наверно стоит попробовать Solr ?
  • При использовании пагинации Тема на 200 страниц [gamekuba.ru] открывается 4 секунды

Включил slow log в mysql - полно запросов, которые выполняются дольше 2 секунд.

Я сейчас там выключил UpdateCacheMiddleware, FetchFromCacheMiddleware , чтобы нагляднее было.

Там еще стоит django-cms средняя страничка отдается за 200 ms.

Это Linode VPS, XEN, 512 памяти. cherokee + uwsgi

Что делать ? опимизировать Mysql ?

Offline

#2 April 21, 2011 10:44:26

slav0nic
DjangoBB Developer
From: Ukraine
Registered: 2009-10-25
Posts: 382
Reputation: +  5  -
Profile   Send e-mail  

Переехал на django-bb

настрой debug-toolbar и проверь что именно тормозит
попробуй базу оптимизровать, запусти скрипты ниже
индекс базы для поиска ты построил?

http://www.day32.com/MySQL/ [day32.com]
http://rackerhacker.com/mysqltuner/ [rackerhacker.com]

прогони эти скрипты по горячей базе (они лишь собирают статистику)

Edited slav0nic (April 21, 2011 10:48:01)

Offline

#3 April 21, 2011 10:45:10

slav0nic
DjangoBB Developer
From: Ukraine
Registered: 2009-10-25
Posts: 382
Reputation: +  5  -
Profile   Send e-mail  

Переехал на django-bb

да и делай бекапы) мы как бы пока не выпустили стабильную версию, мало ли чё)
глянь не течёт ли приложение, при запросе на тему с 200 страницами, возможно где-то бок в пагинаторе и вытягиваются все посты

и выложи mysql slow log

Edited slav0nic (April 21, 2011 10:49:20)

Offline

#4 April 21, 2011 18:36:31

nooldez
Registered: 2010-01-08
Posts: 18
Reputation: +  0  -
Profile   Send e-mail  

Переехал на django-bb

Django-debug-toolbar не хочет работать.

Caught AttributeError while rendering: class MpttMeta has no attribute '__class__'

Сделал рекомендованные настройки мускула. Стало быстрее, но тема 200 страниц открывается также медленно.

Завтра приложу mysql slow log, я его обнулил

Offline

#5 April 21, 2011 20:41:32

nooldez
Registered: 2010-01-08
Posts: 18
Reputation: +  0  -
Profile   Send e-mail  

Переехал на django-bb

Запустил Debug toolbar
Есть запрос который тянет всю тему

posts = topic.posts.all().select_related()

SELECT `djangobb_forum_post`.`id`, 
`djangobb_forum_post`.`topic_id`,
`djangobb_forum_post`.`user_id`,
`djangobb_forum_post`.`created`,
`djangobb_forum_post`.`updated`,
`djangobb_forum_post`.`updated_by_id`,
`djangobb_forum_post`.`markup`,
`djangobb_forum_post`.`body`,
`djangobb_forum_post`.`body_html`,
`djangobb_forum_post`.`user_ip`,
`djangobb_forum_topic`.`id`,
`djangobb_forum_topic`.`forum_id`,
`djangobb_forum_topic`.`name`,
`djangobb_forum_topic`.`created`,
`djangobb_forum_topic`.`updated`,
`djangobb_forum_topic`.`user_id`,
`djangobb_forum_topic`.`views`,
`djangobb_forum_topic`.`sticky`,
`djangobb_forum_topic`.`closed`,
`djangobb_forum_topic`.`post_count`,
`djangobb_forum_topic`.`last_post_id`,
`djangobb_forum_forum`.`id`,
`djangobb_forum_forum`.`category_id`,
`djangobb_forum_forum`.`name`,
`djangobb_forum_forum`.`position`,
`djangobb_forum_forum`.`description`,
`djangobb_forum_forum`.`updated`,
`djangobb_forum_forum`.`post_count`,
`djangobb_forum_forum`.`topic_count`,
`djangobb_forum_forum`.`last_post_id`,
`djangobb_forum_category`.`id`,
`djangobb_forum_category`.`name`,
`djangobb_forum_category`.`position`,
`auth_user`.`id`,
`auth_user`.`username`,
`auth_user`.`first_name`,
`auth_user`.`last_name`,
`auth_user`.`email`,
`auth_user`.`password`,
`auth_user`.`is_staff`,
`auth_user`.`is_active`,
`auth_user`.`is_superuser`,
`auth_user`.`last_login`,
`auth_user`.`date_joined`,
t6.`id`,
t6.`username`,
t6.`first_name`,
t6.`last_name`,
t6.`email`,
t6.`password`,
t6.`is_staff`,
t6.`is_active`,
t6.`is_superuser`,
t6.`last_login`,
t6.`date_joined`
FROM `djangobb_forum_post`
INNER JOIN `djangobb_forum_topic`
ON ( `djangobb_forum_post`.`topic_id` = `djangobb_forum_topic`.`id` )
INNER JOIN `djangobb_forum_forum`
ON ( `djangobb_forum_topic`.`forum_id` = `djangobb_forum_forum`.`id` )
INNER JOIN `djangobb_forum_category`
ON ( `djangobb_forum_forum`.`category_id` =
`djangobb_forum_category`.`id` )
INNER JOIN `auth_user`
ON ( `djangobb_forum_topic`.`user_id` = `auth_user`.`id` )
INNER JOIN `auth_user` t6
ON ( `djangobb_forum_post`.`user_id` = t6.`id` )
WHERE `djangobb_forum_post`.`topic_id` = 377
ORDER BY `djangobb_forum_post`.`created` ASC

MySQL slow log [files.gamekuba.ru]

Edited nooldez (April 21, 2011 20:47:18)

Offline

#6 April 22, 2011 10:30:14

slav0nic
DjangoBB Developer
From: Ukraine
Registered: 2009-10-25
Posts: 382
Reputation: +  5  -
Profile   Send e-mail  

Переехал на django-bb

что-то в slow log у тебя запросы меньше 1секунды
выборку всех постов гляну, но она должна быть lazy по-идее

Offline

#7 April 22, 2011 10:33:07

slav0nic
DjangoBB Developer
From: Ukraine
Registered: 2009-10-25
Posts: 382
Reputation: +  5  -
Profile   Send e-mail  

Переехал на django-bb

long_query_time в конфиге чему равен?

с запросом буду разбираться, как появится время, проблема в запросе ниже, users =… =\ оно все посты и тянет

Edited slav0nic (April 22, 2011 11:03:58)

Offline

#8 April 22, 2011 13:23:52

slav0nic
DjangoBB Developer
From: Ukraine
Registered: 2009-10-25
Posts: 382
Reputation: +  5  -
Profile   Send e-mail  

Переехал на django-bb

создал тикет, на праздниках постараюсь закрыть

Offline

#9 April 22, 2011 16:52:01

nooldez
Registered: 2010-01-08
Posts: 18
Reputation: +  0  -
Profile   Send e-mail  

Переехал на django-bb

long_query_time = 2
Спасибо.

Offline

#10 April 27, 2011 18:32:42

nooldez
Registered: 2010-01-08
Posts: 18
Reputation: +  0  -
Profile   Send e-mail  

Переехал на django-bb

Постоянно вылезает следующая ошибка


Environment:

Request Method: GET
Request URL: http://gamekuba.ru/forum/search/?action=search&keywords=&author=Dante&forum=0&search_in=all&sort_by=0&sort_dir=DESC&show_as=topics&search=%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C [gamekuba.ru]


Traceback:
File "/home/vu2008/new.gamekuba.ru/kuba/env/src/django/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/home/vu2008/new.gamekuba.ru/kuba/../kuba/libs/djangobb_forum/util.py" in wrapper
73. output = function(request, *args, **kwargs)
File "/home/vu2008/new.gamekuba.ru/kuba/../kuba/libs/djangobb_forum/util.py" in wrapper
94. result = func(request, *args, **kwargs)
File "/home/vu2008/new.gamekuba.ru/kuba/../kuba/libs/djangobb_forum/views.py" in search
191. topics_to_exclude |= SQ(topic=post.object.topic)

Exception Type: TypeError at /forum/search/?action=search&keywords=&author=Dante&forum=0&search_in=all&sort_by=0&sort_dir=DESC&show_as=topics&search=%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C
Exception Value: unsupported operand type(s) for |=: 'list' and 'SQ'

Offline

Board footer

Moderator control

Powered by DjangoBB

Lo-Fi Version