Upgrade to Pro — share decks privately, control downloads, hide ads and more …

HighLoad не кусается

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for fwdays fwdays
November 24, 2012

HighLoad не кусается

История одного проекта, над которым пришлось работать. Сейчас пузомерка проекта доросла до 20 млн визитов в месяц, а Alexa rank медленно подбирается к 1 500
— Анализ legacy кода
— Рефакторинг проекта
— Оптимизация и профилирование
— Оптимизация
— Оптимизация

Avatar for fwdays

fwdays

November 24, 2012
Tweet

More Decks by fwdays

Other Decks in Programming

Transcript

  1. С чего всё начиналось • •устаревшая структура БД • хлипкие

    сервера • дырявый код ... и другие болячки legacy code
  2. Спортзал • Core i7-975 • 12GB RAM • 80GB SSD

    • Core i7-975 • 24GB RAM • 2x120GB SSD(RAID0) • Percona-Mysql-5.5
  3. Работа • • ~1000 m/h • ~1000 issues • ~

    500 bugs • ~ 150 bugs > normal priority • ~ 10% bugfix ошибкам перевода устанавливался приоритет normal
  4. Кеширование "для гостей" • • проверяем cookie авторизации o проверяем

    попадание в кеш  загружаем html файл o гененрируем html файл  register_shutdown_function()
  5. Для базы данных 1. 1. PDO wrapper 2. INSERT/UPDATE/DELETE идут

    на master 3. SELECT запросы идут на slave a. кешировались изначально на 5 минут b. в течении двух-недель это тюнилось 1. Тяжёлые SELECT делятся между master и slave (таких лишь два на всю систему)
  6. PHP framework • Memcached wrapper • PDO wrapper • Simple

    Active Record • Simple Template Engine • MVC в одном index.php Часть кода мигрировала в Bluz Framework