|
AlexB ↓
|
 |
|
29 Октябрь, 2011, 12:55:01
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: в ухо Карма: 89
Сообщений: 3428 Сила слова: 2.6
|
Сюда буду бросать неочевидные вещи, пока одна:
1. Знаете ли вы, что если попробовать с помощью джанговской ORM начать обрабатывать большое количество записей (например миллион), то через некоторое время скрипт загибается? Представляете, сколько раз икнулось разработчикам пока я обрабатывал такую базу? Три раза я переписывал скрипт, запускал его на ночь и с утра обнаруживал мертво висящий компьютер. Решение оказалось элементарным, надо просто ... отключить дебаг! Вот так:
from django.conf import settings
settings.DEBUG = False
Фишка в том, что при дебаге все SQL запросы джанга логирует в памяти и в конце концов она просто заканчивается ...
|
|
|
|
« Последнее редактирование: 29 Октябрь, 2011, 12:55:01 от AlexB »
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
29 Октябрь, 2011, 02:04:40 , спустя 1 час 9 минут 39 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 345
Сообщений: 20790 Сила слова: 1.66
|
очевидная хуйня на самом деле :)))
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
AlexB ↓
|
 |
|
29 Октябрь, 2011, 03:11:15 , спустя 1 час 6 минут 35 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: в ухо Карма: 89
Сообщений: 3428 Сила слова: 2.6
|
очевидная хуйня на самом деле :)))
Ага, когда стало известно в чем дело, кажется очевидным. А до того как нашел, голову ломал откуда утечки памяти. И два опытных питонщика, которые со мной работают ... тоже хуй подсказали ...
|
|
|
|
|
Записан
|
|
|
|
|
Абырвалг ↓
|
 |
|
29 Октябрь, 2011, 04:18:36 , спустя 1 час 7 минут 21 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
PHP Infected, симфоеб, маконенавистник
Группа: Джедаи Карма: 80
Сообщений: 6096 Сила слова: 1.31
|
нас тоже такая "проблема" настигла, но мы ж симфоебы.
а как-нить более нормально это исправить в джанго нельзя? вот у нас в сраном пхп можно рантайм отключить чисто логгирование скл. Или даже более правильно поступить - ограничить размер буффера (логи-то на диск/в базу сбрасываться будут). Спустя 1 минуту 35 секунд добавил http://slides.seld.be/?file=2011-10-20+High+Performance+Websites+with+Symfony2.html#37
|
|
|
|
|
Записан
|
PHP does the job since 1995 Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
|
|
|
|
NRG ↓
|
 |
|
31 Октябрь, 2011, 12:11:04 , спустя 1 день 7 часов 52 минуты 28 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Headshot!MultiKill!
Группа: нинзя Карма: 777
Сообщений: 4700 Сила слова: 16.81
|
джанга-хуянга Спустя 1 минуту 15 секунд добавил извините, не сдержался)
|
|
|
|
|
Записан
|
Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть

|
|
|
|
AlexB ↓
|
 |
|
31 Октябрь, 2011, 12:17:32 , спустя 6 минут 28 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: в ухо Карма: 89
Сообщений: 3428 Сила слова: 2.6
|
джанга-хуянга Спустя 1 минуту 15 секунд добавил извините, не сдержался)
ничего, ничего, все знают, что повтореная дважды шутка - смешна вдвойне
|
|
|
|
|
Записан
|
|
|
|
|
Sinkler ↓
|
 |
|
31 Октябрь, 2011, 12:19:31 , спустя 1 минуту 59 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Похуй, пляшем!
Группа: Джедаи Карма: 73
Сообщений: 6807 Сила слова: 1.07
|
вухаха))))
|
|
|
|
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
31 Октябрь, 2011, 10:02:29 , спустя 9 часов 42 минуты 58 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17631 Сила слова: 1.67
|
ничего, ничего, все знают, что повтореная дважды шутка - смешна вдвойне
+1
|
|
|
|
|
Записан
|
|
|
|
|
AlexB ↓
|
 |
|
31 Октябрь, 2011, 10:15:29 , спустя 13 минут
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: в ухо Карма: 89
Сообщений: 3428 Сила слова: 2.6
|
а как-нить более нормально это исправить в джанго нельзя? вот у нас в сраном пхп можно рантайм отключить чисто логгирование скл.
Честно? Не знаю! Но нужды особой не вижу. Дебаг нужен пока ты тестируешь на небольших тестовых данных, а когда запускаешь с реальным объемом, нафиг он сдался? Тут должно все без ошибок отработать ...
|
|
|
|
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
31 Октябрь, 2011, 11:54:09 , спустя 1 час 38 минут 40 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
|
|
mathete ↓
|
 |
|
02 Декабрь, 2011, 05:41:09 , спустя 32 дня 5 часов 47 минут
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 12
Сообщений: 70 Сила слова: 17.14
|
Понимаю, что теме месяц. Но всё же хотел добавить.
1. Это именно фишка джанго. Очень удобный инструмент для дебагинга. И на основе этого и работает sql дебагинг во всяких джанго-тулбарах.
2. Это не логгинг в стандартном понимании.
3. Под капотом всё просто:
в django.db есть connection - текущий connection к базе. Я тут опускаю работу с несколькими базами, но всё аналогично.
У этого connection есть атрибут queries - это как раз список всех запросов. Каждый запрос - это словарь {'time':<время_выполнения>, 'sql':<sql_отправленный_в_базу>}
И обычно работа происходит так:
from django.db import connection
from someapp.models import SomeModel, AnotherModel..
try:
qs = SomeModel.objects.filter(....).extra(....)
qs2 = AnotherModel.objects.filter(....).values(....).annotate(....)
# и так далее..
# короче много запросов и может даже какой-то из них валится и не понять почему
finally:
for q in connection.queries:
print q['time'], ' :: ', q['sql']
4. Если же у вас куча запросов и нужен DEBUG=TRUE, то просто периодически сбрасывайте connection.queries
Ну предположим у вас какой-нибудь бесконечный цикл и в нем обращения к базе.
from django.db import connection
while True:
# тут эти все ваши запросы
.....
# и в конце итерации
connection.queries = []
|
|
|
|
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
03 Декабрь, 2011, 09:59:21 , спустя 1 день 4 часа 18 минут 12 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17631 Сила слова: 1.67
|
ага, либо рвать соединение надо переодически
|
|
|
|
|
Записан
|
|
|
|
|
mathete ↓
|
 |
|
04 Декабрь, 2011, 01:28:28 , спустя 3 часа 29 минут 7 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
|
|
adw0rd ↓
|
 |
|
04 Декабрь, 2011, 09:28:45 , спустя 8 часов 17 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17631 Сила слова: 1.67
|
Сенкью, буду иметь ввиду
|
|
|
|
|
Записан
|
|
|
|
|