Upload
oleg-poludnenko
View
602
Download
5
Embed Size (px)
Citation preview
Как и у кого это происходит?Рост в 5-10 раз в течении нескольких дней или недель
1M pageview в сутки и более
Rasmus Lerdorf: PHP — просто инструмент, с помощью которого можно сколотить классные штуки. И мне нравится именно это — то, что создано с помощью PHP.
Я никогда не работал в компании, производящей инструменты; много лет я проработал в Yahoo, потом в WePay, сейчас — в Etsy. Это компании, которые
работают для нормальных, обычных людей, и PHP — их неотъемлемая часть. Это инструмент, которым мы пользуемся, чтобы делать вещи для реальных людей.
Родовые проблемы PHP•Интерпретируемый язык —> компилятор в C++ (Facebook HPHPc)
• Born to die —> демоны (phpDaemon)•Многопоточность —> нет в коробке (pthreads)
• OOP overhead —> Функциональное программирование
Don't panic
• Инструменты
• Домашнее задание
• Архитектурные и не очень подходы
• Треугольник "Деньги" — "Скорость продукта" — "Скорость разработки"
Домашняя работа• Разделение веб-сервера на легкий и тяжелый (Nginx
+Apache, Nginx+PHPFPM)
• Роли Application Server / DB Server / Static File Server
• Распределенное файловое + единое сессионное хранилище = уход от монолитности + запуск в облаке
• Кеширование
• Денормализация, дублирование данных (хранение данных в разных хранилищах в зависимости от видов запросов) = SQL + NoSQL + Sphinix/ES + ...
Action plan1. Вычисление скорости элементов системы в
бизнес терминах
2. Нахождение узких мест или ненужной функциональности или недостатков архитектуры
3. Критический эксперимент и анализ результатов
4. Пункт №1
Идея первая и последняя — отдавать страницу целиком из кеша
Решение проблем сессий, cookies, кастомизаций, прогрева, инвалидации, приветствий пользователя.