Когда начинает трещать по швам Django ORM? Александр Миленко, июнь 2013, Мск e-mail: alvein.flea@gmail.com skype: alexander.milenko.

Презентация:



Advertisements
Похожие презентации
1 Panarin Vitaliy 2013 Операционная сторона интернет-магазина: как не терять клиентов Панарин Виталий.
Advertisements

ФОРМУЛА САЙТА Цикл бесплатных семинаров c участием лидеров it-индустрии 7 современных инструментов маркетинга для продвижения интернет-магазина Владимир.
О чем забывают магазины? 3 От пользователя к покупателю Выбор товара, отзывы, сравнение Выбор магазина, отзывы, сравнение Нужен товар Заказ в магазине.
INETsHOP – система управления прайс- листами. В условиях жёсткой рыночной конкуренции когда происходит борьба за каждого клиента приходится идти на уступки.
Интернет-магазины, высокие нагрузки, синхронизации бизнес- приложений с веб-системой Александр Сербул Руководитель направления контроля качества интеграции.
Как влияют ошибки юзабилити на конверсию магазинов Бизнес интернет-магазинов и онлайн-сервисов Киев, 28 октября 2010 года. Протопопов Сергей.
Как из посетителя сделать клиента или как не потерять деньги, вложенные в рекламу Поисковая оптимизация и продвижение сайтов в сети Интернет Харьков, 23.
Big data в e-commerce. Товарные рекомендации – Retail Rocket В карточке товара При добавлении в корзину.
Преимущества интернет-магазина, интегрированного с 1С Как определить, нужна ли в Вашем проекте интеграция с 1С? Что даст интеграция с 1С в Вашем проекте?
Как получить максимум заказов с торговых площадок Оксана Журавель, BIF 2013.
Что делать, если ваш интернет- магазин не продает? Доступные инструменты для анализа и поиска решений. Алексей Богдановский amado-id.ru.
Как улучшить производительность проекта за три шага Шаромов Денис руководитель отдела техподдержки.
Презентация портала Tiu.ru. Что такое Tiu.ru? Интернет-портал товаров и услуг Что такое Tiu.ru?
Rails Scale: 1000 запросов в секунду Макс Лапшин
Доверие к ресурсу по оценкам портала mail.ru - превосходно.
Cправочная Cлужба «Нужные вещи »
SurfControl Web Filter Appliance. На повестке дня Обзор рынка Преимущества аппаратных решений Стоечный сервер Web Filter Покупатели и проблемы Выпуск.
Идеальная схема поискового маркетинга и ситуация на региональном рынке Букуров Александр Конференция «Технологии регионального интернет- маркетинга» Ростов-на-Дону,
Краткая справка: Компания «ПланетаСтрой», развивающая сеть гипермаркетов «Уютерра», была основана в 2004 году. Сегодня «Уютерра» сеть 1 в России в формате.
За витриной Бэк-офис интернет-магазина Харитонова Юлия.
Транксрипт:

Когда начинает трещать по швам Django ORM? Александр Миленко, июнь 2013, Мск skype: alexander.milenko

СРАЗУ!

ideя! – что за диковинка из глубинки?

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

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

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

3 года ошибок и побед. 1 класс. Оптимизация логики Первая рекламная акция – с 300 посетителей в день до Мы открываемся через раз! Фильтр в фильтре Много лишнего в запросе

3 года ошибок и побед. 1 класс. Оптимизация логики. Правим Предварительная подготовка данных.values() и.values_list() наши друзья Выкидываем лишнее из запроса

3 года ошибок и побед. 1 класс. Оптимизация логики. Итог ПараметрБылоСтало Товаров1000 штук Запросов2002 штук4 штуки Время исполнения9991 мс393 мс Мы начали открываться каждый раз, но все равно медленно

3 года ошибок и побед. 2 класс. Шаблоны – тихая лошадка Бестолковая магия – котел бежит за вами, но каши не варит. Красиво? – Да Функционально – не всегда Мы ускоряемся

3 года ошибок и побед. 3 класс. Кэширование Кэшировать все – зло!

3 года ошибок и побед. 3 класс. Кэширование Кэшировать все - зло! Не кэшировать – зло!

3 года ошибок и побед. 3 класс. Кэширование Кэшировать все - зло! Не кэшировать – зло! Кэшировать часть – зло!

3 года ошибок и побед. 3 класс. Кэширование Кэшировать все - зло! Не кэшировать – зло! Кэшировать часть – зло! Что делать??

3 года ошибок и побед. 3 класс. Кэширование Кэшировать все - зло! Не кэшировать – зло! Кэшировать часть – зло! Что делать?? Кэшировать!

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

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

3 года ошибок и побед. 3 класс. Итоги Мы взлетели

3 года ошибок и побед. 4 класс. Мы тормозим

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)

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) Мы опять взлетели :)

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

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

3 года ошибок и побед. 6 класс. Анализируй это Чудеса.values() DB vs. Python-lines Celery + CSV = счастье логистам

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

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

3 года ошибок и побед. 8 класс..select_related() и.prefetch_related() Зло Забыть Переписать …

3 года ошибок и побед. 8 класс..select_related() и.prefetch_related() Зло Забыть Переписать … Модели с большим количеством полей – основная проблема данной магии

3 года ошибок и побед. 9 класс. из 1С и в 1С – идеальный рецепт Избыточность Подготовка данных Анализ Транзакция Скорость, защита от потерь данных, возможность отката при отказе

3 года ошибок и побед. 10 класс. Ужасный порог в 1,5 секунды Откуда дровишки? Нужна ли жертва для поднятия производительности? Цена поднятия производительности до 0,03 секунд на страницу на 3х летнем проекте

3 года ошибок и побед. 11 класс. Выпускной Раз в неделю – ловим ботов

3 года ошибок и побед. 11 класс. Выпускной Раз в неделю – ловим ботов Именных ботов – кормим дезинформацией

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

Высшая школа Если это не правда – то уж очень хорошо придумано… (с) итальянская поговорка Спасибо! Александр Миленко skype: alexander.milenko