3. Сайт бесплатных объявлений 03
4,5 с – время отклика страницы
70 тыс. ошибок на 1 млн. страниц
30 с - время поиска по тексту объявления
БД более 200 таблиц
За 5 лет полностью сменилось 3
команды разработчиков, плохая
коммуникация между программистами и
системными администраторами, задачи на
разработку ставятся хаотично, скорость
важнее качества.
4. Что нужно получить 04
<1 с – время отклика страницы
< 1 ош. на 10 тыс. страниц
Полнотекстовый поиск должен стать
основным
Сделать редизайн сайта
Использовать только Microsoft
технологии
Команда разработки 7 студентов +
девушка филолог в качестве аналитика
5. Человек, который изменил все
05
Как сделать проект при
таких исходных данных?
Надо исключить влияние
квалификации отдельного
программиста на результаты
проекта
То есть конечный результат в
большей степени зависеть не
от навыков и умений
конкретных людей, а
определяться в большей
степени архитектурными
решениями и технологиями.
7. Модель акторов
1973 г. A Universal Modular ACTOR
Formalism for Artificial Intelligence
Актор – вычислительная сущность
• Отправить конечное число
сообщений другим акторам
• Создать конечное число акторов
• Выбрать поведение для приема
следующего сообщения
Карл Хьюит
07
8. В чем отличие от “обычной”
модели вычислений
Модель акторов vs Синхронизация
08
9. Асинхронная обработка всех
запросов
Библиотека HWdTech.DS
Реализация модели акторов. Среднее время отклика
страницы 400-800 мс.
3 сервера вместо 15.
09
Каждый обработчик – job
– выполняет маленькое
небольшое действие.
Job’ы выполняются
параллельно.
11. NoSQL обертка над SQL
базой: 10 таблиц вместо 200
Документо-ориентированное хранилище
Вся работа с данными сводится к ~5 запросам. Среднее
время выполнения запроса 200 мс!
{
"firstName": "Иван",
"lastName": "Иванов",
"address": {
"streetAddress": "Московское ш., 101, кв.101",
"city": "Ленинград",
"postalCode": 101101
},
"phoneNumbers": [
"812 123-1234",
"916 123-4567"
]
}
Вся информации о
сущности хранится в
виде одной записи в
формате json.
11
12. NoSQL обертка над SQL
базой: 10 таблиц вместо 200
The Search Request
{
“FullTextSearch": “Mazda 3",
“Ranges": {
“Price": {“left“: 200000, right: 700000}
},
“Filters”: {
“Type”: “Продажа”
},
Order:
[
{Field: “PublishDate”, Reverse: true}
],
“Count”: 20,
“Page”: 2
}
12
Все поисковые запросы
к хранилищу
документов имеют
общую стркутуру
13. NoSQL обертка над SQL
базой: 10 таблиц вместо 200
Коллекция документов хранилища
Имя поля
Searchable
Filterable
Rangeable
13
Каждый документ
должен быть описан
структурой следующего
формата
14. Быстрая конфигурация
операций
Карты сообщений и сервер конфигураций
Можно менять алгоритм обработки действий пользователя
без программирования или быстро вернуть последнюю
рабочую версию.
Каждое действие
пользователя представляет
собой последовательность
вызовов job’ов, которая
описывается в виде json и
хранится в конфигурации
сервера.
Job1 Job2 … JobN
14
15. Ошибки скрыты от
пользователя
Контрольные точки
Если в момент обработки произойдет ошибка, то
пользователь этого никогда не заметит, а разработчики
всегда могут повторить данную операцию без участия
пользователя, когда исправят ошибку.
Когда сервер получает
сообщение, то первое, что
происходит – сообщение
сохраняется в
контрольной точке и тут
же отправляется ответ
клиенту.
CP1 Job … CPN
Ответ на
входящий
запрос
15
16. Проще приспособиться, чем ждать
когда исправят все ошибки
Версионирование сообщений
Есть задержка между изменением интерфейсов и их
реализацией сторонними разработчиками.
Документация неидеальная – проще самим
приспособиться, чем добиваться полного соотвествия
Когда сервер получает
сообщение, то это
сообщение можно
модифицировать так ,
чтобы его можно было
дальше обрабатывать.
CP1 Job … CPN
Трансформация сообщения
на основе адресата и
версии сообщения
16
17. Карты Шухарта
1923 г. AT&T
Ламповые усилители сигнала
Количество аварийных бригад и
транспорта?
Применяются в различных сферах
производства как средство
постоянного улучшения качества
выпускаемой продукции
Уолтер Шухарт
17
18. Как обнаруживать ошибки?
Карты Шухарта
Все процессы подвержены вариабельности.
Управляемое явление - используя прошлый опыт
можно предсказать, каких его вариаций можно
ожидать в будущем.
ГОСТ Р 50779.42-99 (ISO 8258-91)
18
выявление точек выхода
процесса из стабильного
состояния для установления
причин появившегося
отклонения и их устранения.
19. Использовать карты очень
просто
Карты средних и размаха
19
Множество измерений разбивается на подгруппы.
Способ формирования подгрупп влияет на результат!
ГОСТ Р 50779.42-99 (ISO 8258-91)
Для построения карт
достаточно простых
арифметических действий
20. Карты работают?
Инструмент больше эмпирический,
чем математический
Отношение к картам Шухарта
неоднозначное
Применяется на японских
предприятиях, например, Toyota
Чтобы применять карты, надо
сначала добиться “статистической
стабильности”
Дональд Уиллер
20
21. Как узнать, что изменения дали
положительный эффект?
Карта количества сообщений в контрольной
точке
Рост числа сообщений говорит о возникновении
систематической ошибки, резкий спад – о том, что
ошибка была устранена.
21
22. Причина в коде или в
инфраструктуре?
Где искать проблему?
Один из источников проблем – база данных.
22
• На старой системе – 1 серьезная авария в неделю!
• Сис. администраторы не дают полной информации
• Причина в коде или в инфраструктуре?
Карта, которая измеряет среднюю скорость запросов к
базе данных – если время запросов статистически
стабильно, то проблема не в коде!
24. Все ли пользователи
одинаково полезны?
24
Обмен сообщениями между пользователями
Анализ аномальной активности показал, что появился
пользователь, который стал активно предлагать другим
переходить на ресурс-конкурент.
25. Не все коллеги ведут себя
корректно
Аргумент при общении со сторонними
разработчиками
Один из клиентов предъявлял претензии, потому что его
разработчики (компания-аутсорсер) говорили, что
проблема в нас.
25
26. Активность пользователей
можно создавать
Грамотный троллинг увеличивает рейтинги
Постоянные посетители готовы общаться – им нужно
только немного помочь. Стоит ли эффект вложенных
средств?
26
27. Не все зависит от технологий
Эффективность рекламы
Рекламная компания в СМИ имела незначительный
краткосрочный эффект.
27
28. Дело не в количестве
параметров
28
Увеличение количества параметров
Гипотеза: пользователям рубрики Авто нравятся подробные
описания объявлений. Может быть, но это не самое
главное, что привлекает посетителей.
29. Дело не в количестве
параметров
29
Увеличение количества параметров
Гипотеза: пользователям рубрики Недвижимость нравятся
подробные описания объявлений. Может быть, но это не
самое главное, что привлекает посетителей.
30. Человек, который изменил все
Послесловие
В титрах к фильму говорится,
что герой Бреда Пита так до
сих пор и не смог выиграть
чемпионский титул со своей
командой.
У каждой технологии есть
свой предел!
30
Эта презентация демонстрирует новые возможности PowerPoint. Ее рекомендуется просматривать в режиме показа слайдов. Эти слайды должны дать вам представление о том, какие эффектные презентации можно создать с помощью PowerPoint 2010.
Для доступа к другим образцам шаблонов перейдите на вкладку "Файл", а затем щелкните "Образцы слайдов" на вкладке "Создать".