Одежда
<<  Изучение гладьевых швов Выполнение простейших ручных швов  >>
Когда начинает трещать по швам Django ORM
Когда начинает трещать по швам Django ORM
Сразу!
Сразу!
Ideя! – Что за диковинка из глубинки
Ideя! – Что за диковинка из глубинки
Ideя! – Что за диковинка из глубинки
Ideя! – Что за диковинка из глубинки
Ideя! – Что за диковинка из глубинки
Ideя! – Что за диковинка из глубинки
Ideя! – Что за диковинка из глубинки
Ideя! – Что за диковинка из глубинки
Выучить к школе:
Выучить к школе:
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
3 года ошибок и побед
Высшая школа
Высшая школа

Презентация на тему: «Когда начинает трещать по швам Django ORM». Автор: Ирина. Файл: «Когда начинает трещать по швам Django ORM.ppt». Размер zip-архива: 356 КБ.

Когда начинает трещать по швам Django ORM

содержание презентации «Когда начинает трещать по швам Django ORM.ppt»
СлайдТекст
1 Когда начинает трещать по швам Django ORM

Когда начинает трещать по швам Django ORM

Александр Миленко, июнь 2013, Мск e-mail: alvein.flea@gmail.com skype: alexander.milenko

2 Сразу!

Сразу!

3 Ideя! – Что за диковинка из глубинки

Ideя! – Что за диковинка из глубинки

4 Ideя! – Что за диковинка из глубинки

Ideя! – Что за диковинка из глубинки

5 Ideя! – Что за диковинка из глубинки

Ideя! – Что за диковинка из глубинки

5 интернет-магазинов в 4 областях 120 000 просмотров в будни, около 400 000 под НГ ежедневно 1 сервер для клиентов (i7-3930K x 12, 64GB DD3) 1 системный сервер (i7-2600 x 8, 32GB DDR3) Анализ 90+ поставщиков и конкурентов (более 1кк номенклатуры) на совпадения, цены и др. радости. (менее 2 часов на всех) Актуальность учета остатков по 40 складам с отставанием в 15 минут от 1С Определение даты доставки с точностью до 10 минут

6 Ideя! – Что за диковинка из глубинки

Ideя! – Что за диковинка из глубинки

160 скриптов взаимодействия Обновление данных номенклатур по всем сайтам (140к позиций) менее чем за 80 секунд Построенный рабочий процесс: от работы контент-менеджеров (в том числе с подсчетом ЗП) до работы всех сопутствующих структур: call-центр, закуп, логистика, служба качества и т.д. Порядка 50 различных отчетов и собственные анализы поведений покупателей.

7 Выучить к школе:

Выучить к школе:

http://bit.ly/109nXYX

8 3 года ошибок и побед

3 года ошибок и побед

1 класс. Оптимизация логики

Первая рекламная акция – с 300 посетителей в день до 4000. Мы открываемся через раз! Фильтр в фильтре Много лишнего в запросе http://pastebin.com/bfyH6MZm

9 3 года ошибок и побед

3 года ошибок и побед

1 класс. Оптимизация логики. Правим

Предварительная подготовка данных .values() и .values_list() наши друзья Выкидываем лишнее из запроса http://pastebin.com/bfyH6MZm

10 3 года ошибок и побед

3 года ошибок и побед

1 класс. Оптимизация логики. Итог

Мы начали открываться каждый раз, но все равно медленно

Параметр

Было

Стало

Товаров

1000 штук

1000 штук

Запросов

2002 штук

4 штуки

Время исполнения

9991 мс

393 мс

11 3 года ошибок и побед

3 года ошибок и побед

2 класс. Шаблоны – тихая лошадка

Бестолковая магия – котел бежит за вами, но каши не варит. Красиво? – Да Функционально – не всегда Мы ускоряемся http://pastebin.com/7ghQWmTv

12 3 года ошибок и побед

3 года ошибок и побед

3 класс. Кэширование

Кэшировать все – зло!

13 3 года ошибок и побед

3 года ошибок и побед

3 класс. Кэширование

Кэшировать все - зло! Не кэшировать – зло!

14 3 года ошибок и побед

3 года ошибок и побед

3 класс. Кэширование

Кэшировать все - зло! Не кэшировать – зло! Кэшировать часть – зло!

15 3 года ошибок и побед

3 года ошибок и побед

3 класс. Кэширование

Кэшировать все - зло! Не кэшировать – зло! Кэшировать часть – зло! Что делать??

16 3 года ошибок и побед

3 года ошибок и побед

3 класс. Кэширование

Кэшировать все - зло! Не кэшировать – зло! Кэшировать часть – зло! Что делать?? Кэшировать!

17 3 года ошибок и побед

3 года ошибок и побед

3 класс. Кэширование

Время кеширования – всегда меньше часа и всегда под контролем Актуальные данные – не кешируем, а выносим Инструменты для сброса всего кеша или его части Выбор формата данных в кеше Больше фрагментации – больше актуальности Гибридные ключи – вай-вай красота http://pastebin.com/tGuWhWuy

18 3 года ошибок и побед

3 года ошибок и побед

3 класс 2 четверть. Вынос данных

Много баз не бывает = MongoDB, Redis, Memcached Фильтры на сайте – платим производительностью за гибкость Включаем пыхтелку, начинаем подготавливать больше данных и переносить из MySQL в MongoDB Надежность != скорость MongoDB

19 3 года ошибок и побед

3 года ошибок и побед

3 класс. Итоги

Мы взлетели

20 3 года ошибок и побед

3 года ошибок и побед

4 класс.

Мы тормозим

21 3 года ошибок и побед

3 года ошибок и побед

4 класс. Грязные трюки

session.engine – rails nginx backend node – more than 1 (URL, Server, Bot-s?) later – the best of the best of the best (c)

22 3 года ошибок и побед

3 года ошибок и побед

4 класс. Грязные трюки

session.engine – rails nginx backend node – more than 1 (URL, Server, Bot-s?) later – the best of the best of the best (c) Мы опять взлетели :)

23 3 года ошибок и побед

3 года ошибок и побед

5 класс. Берем лопату

Хватит мяться – в области больше одного города. Нам нужна доставка, наценка, СЕО и блекджек… Исходные данные vs. Правила исходных данных Идем на жертву производительности и…

24 3 года ошибок и побед

3 года ошибок и побед

5 класс. Берем лопату

Хватит мяться – в области больше одного города. Нам нужна доставка, наценка, СЕО и блекджек… Исходные данные vs. Правила исходных данных Идем на жертву производительности и… выигрываем!

25 3 года ошибок и побед

3 года ошибок и побед

6 класс. Анализируй это

Чудеса .values() DB vs. Python-lines Celery + CSV = счастье логистам

26 3 года ошибок и побед

3 года ошибок и побед

7 класс. Сравнение 1кк строк с 1кк строк

10 поставщиков – неделя одного сравнения. 20 поставщиков – что-то линейка товаров уже обновилась.. 21 поставщик – терпенье и труд – все перетрут 22 поставщика - понеслась:

27 3 года ошибок и побед

3 года ошибок и побед

7 класс. Сравнение 1кк строк с 1кк строк

10 поставщиков – неделя одного сравнения. 20 поставщиков – что-то линейка товаров уже обновилась.. 21 поставщик – терпенье и труд – все перетрут 22 поставщика - понеслась: Подготовка данных – 15 минут Поиск и сравнение – 30 минут (Левенштейн за бортом) Привет конкурентам – вы под колпаком! ИТОГ: 91 поставщик, 25 минут подготовка, 2 часа сравнения

28 3 года ошибок и побед

3 года ошибок и побед

8 класс. .Select_related() и .Prefetch_related()

Зло Забыть Переписать …

29 3 года ошибок и побед

3 года ошибок и побед

8 класс. .Select_related() и .Prefetch_related()

Зло Забыть Переписать … Модели с большим количеством полей – основная проблема данной магии http://pastebin.com/prxnrdRR

30 3 года ошибок и побед

3 года ошибок и побед

9 класс. из 1С и в 1С – идеальный рецепт

Избыточность Подготовка данных Анализ Транзакция Скорость, защита от потерь данных, возможность отката при отказе http://pastebin.com/G0TEdA3R

31 3 года ошибок и побед

3 года ошибок и побед

10 класс. Ужасный порог в 1,5 секунды

Откуда дровишки? Нужна ли жертва для поднятия производительности? Цена поднятия производительности до 0,03 секунд на страницу на 3х летнем проекте

32 3 года ошибок и побед

3 года ошибок и побед

11 класс. Выпускной

Раз в неделю – ловим ботов

33 3 года ошибок и побед

3 года ошибок и побед

11 класс. Выпускной

Раз в неделю – ловим ботов Именных ботов – кормим дезинформацией

34 3 года ошибок и побед

3 года ошибок и побед

11 класс. Выпускной

Раз в неделю – ловим ботов Именных ботов – кормим дезинформацией Радуемся стабильным продажам ?

35 Высшая школа

Высшая школа

Если это не правда – то уж очень хорошо придумано… (с) итальянская поговорка Спасибо! Александр Миленко alvein.flea@gmail.com skype: alexander.milenko +7 919 408 0178

«Когда начинает трещать по швам Django ORM»
http://900igr.net/prezentacija/tekhnologija/kogda-nachinaet-treschat-po-shvam-django-orm-208789.html
cсылка на страницу
Урок

Технология

35 тем
Слайды
900igr.net > Презентации по технологии > Одежда > Когда начинает трещать по швам Django ORM