Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 13, 2008 17:37:45

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Производительность сервера

Cool-Di
попробуй http://www.djangosnippets.org/snippets/186/
или runprofileserver заюзай с http://code.google.com/p/django-command-extensions/
на худой конец можно поиграться с http://github.com/robhudson/django-debug-toolbar/

Офлайн

#2 Дек. 13, 2008 17:57:02

Cool-Di
От:
Зарегистрирован: 2008-12-13
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Производительность сервера

спасибо всем за помощь
slav0nic Статистику вывел, но не очень то в ней разбираюсь. Вроде в картинках к Kcachegrind красиво все расписано, но запускается все только под линукс. Еле нашел программы для винды, и даже переконвектировать таблицы, но вылазят ошибки - красиво отобразить не получилось.

Еще если кто-нибудь не поленится объяснить как разбираться в профайлинге, вот что выдает у меня когда я профайлил главную страницу:

         7249 function calls (6817 primitive calls) in 1.706 CPU seconds

Ordered by: internal time, call count
List reduced from 154 to 20 due to restriction <20>

ncalls tottime percall cumtime percall filename:lineno(function)
31 0.916 0.030 0.916 0.030 base.py:232(_valid_connection)
31 0.428 0.014 0.445 0.014 cursors.py:273(_do_query)
436/54 0.017 0.000 0.040 0.001 copy.py:144(deepcopy)
64 0.014 0.000 0.020 0.000 base.py:194(__init__)
62 0.014 0.000 0.017 0.000 query.py:1262(setup_joins)
33 0.013 0.000 0.024 0.001 query.py:473(get_default_columns)
53 0.013 0.000 0.058 0.001 query.py:150(clone)
31 0.011 0.000 0.483 0.016 cursors.py:129(execute)
601 0.010 0.000 0.012 0.000 query.py:134(quote_name_unless_alias)
31 0.009 0.000 0.075 0.002 query.py:251(as_sql)
434 0.009 0.000 0.009 0.000 copy.py:260(_keep_alive)
89 0.009 0.000 0.009 0.000 times.py:43(DateTime_or_None)
31 0.008 0.000 0.008 0.000 cursors.py:40(__init__)
31 0.008 0.000 0.010 0.000 cursors.py:309(_get_result)
492 0.008 0.000 0.008 0.000 base.py:143(quote_name)
31 0.007 0.000 0.015 0.000 __init__.py:154(last_executed_query)
31 0.007 0.000 0.507 0.016 util.py:16(execute)
31 0.007 0.000 0.017 0.001 cursors.py:282(_fetch_row)
33 0.006 0.000 0.046 0.001 query.py:1064(add_filter)
31 0.006 0.000 0.017 0.001 cursors.py:107(_do_get_result)



Отредактировано (Дек. 14, 2008 12:27:26)

Офлайн

#3 Дек. 13, 2008 18:36:44

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Производительность сервера

красиво отображать нам и не надо)
ну как и следовало ожидать вся попа кроется в субд, теперь прикрути django-debug-toolbar и посмотри какие запросы идут в бд) возможно их сильно много, либо проблема с субд

а видишь ты - время выполнения ф-ций отсортированных по времени, как видно, в первых 2х строках идёт работа с субд
подробней http://docs.python.org/library/profile.html#cProfile.run

кстати, проверь число коннектов к бд, в час пик попробуй сам приконнектится к ней и сделать запрос и тп, странно что на _valid_connection тратится столько времени, в этом методе вроде 1 строка %)
у тебя джанга не старая часом?

Офлайн

#4 Дек. 14, 2008 12:34:12

Cool-Di
От:
Зарегистрирован: 2008-12-13
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Производительность сервера

А 20 запросов на странице много ? Если половина из них count



Офлайн

#5 Дек. 14, 2008 12:41:34

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Производительность сервера

Для сферического приложения в вакууме и таких же запросах - не много. А так, it depends.



Офлайн

#6 Дек. 14, 2008 12:47:13

Cool-Di
От:
Зарегистрирован: 2008-12-13
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Производительность сервера

И все запросы я должен стараться оптимизировать? Нужно ли обращать внимание на запросы время которых выдает ‘time’: ‘0.015’ и меньше ?



Офлайн

#7 Дек. 14, 2008 12:53:56

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Производительность сервера

Согласитесь, вы задаете странные вопросы Откуда же мы знаем. что вам надо оптимизировать? Мы понятия не имеем, что это за запросы, чего вы хотите добиться в результате и вообще как выглядит ваше приложение.
Для одних случаев это быстрые запросы, а для других медленные. Зависит от индексов, от наличия подзапросов, от СУБД и т.п. А может быть вообще проще в питоне что-то сделать и не тревожить базу. Всё зависит.

Суть в том. что вам должно быть виднее.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version