Нагрузочное тестирование сайта
Как показывает практика, лишь малый процент разработчиков проводит оптимизацию сайтов под высокие нагрузки.
Вы думаете вас это не коснется, ведь посещаемость вашего интернет-магазина не такая уж большая?
Многие наши клиенты тоже так думали. Например, один случай повлек очень серьезные финансовые последствия для нашего клиента.
История огорчения
Исправно работал интернет-магазин с посещаемостью около 1000 уникальных посетителей в день. Но в какой-то момент владелец обнаружил что сайт не откликается. С этого часа пошли убытки: шла активная рекламная компания, люди приходили на сайт – а он не работал, уходили к конкурентам. Терялась не только сиюминутная прибыль но и долгосрочные перспективы. Плюс ко всему, если бы в этот момент на сайт зашел поисковый паук Яндекса – то интернет-магазин мог выпасть из поисковой выдачи, что могло иметь более чем серьезные последствия для бизнеса.
Что же произошло? Оказалось что конкуренты заказали DDoS атаку, что в наше время сделать достаточно просто. А что она из себя представляет? На сайт обрушивается огромное количество паразитных соединений, как будто на него в одну секунду зашли 100 000 посетителей. Владелец не проводил нагрузочное тестирование, так как считал что в этом нет необходимости.
В итоге:
- сайт был недоступен в течение 3 дней, а это около 3000 потерянных клиентов и испорченная репутация.
- для срочного исправления ситуации владельцу пришлось сменить хостера и на время разместить свой ресурс на специальных серверах, что повлекло за собой дополнительные расходы
- непредсказуемые последствия для сайта в поисковых системах
Такой же эффект может возникнуть, например, если ссылка на ваш магазин появится на каком-либо высокопопулярном сайте, либо при активной рекламной компании.
Что мы можем сделать для стабильности вашего сайта?
Первое: проводим нагрузочное тестирование.
Для этого используется специальный программно-аппаратный комплекс, который имитирует плавный наплыв посетителей на ваш сайт. Результат данного теста представляет из себя подобный график:
На нем видно как растет время отклика вашего сайта при увеличении количества посетителей.
А вот реальный пример одного из сайтов, который мы проверяли:
Четко видно, что уже при 30 одновременных пользователях сайт откликается около 2 секунд, а если еще увеличить их количество – то перестает грузиться совсем.Вот пример некоторых кеширующих инструментов которые мы используем:
- NGINX
- SQUID
Для ускорения обработки скриптов мы задействуем PHP прекомпиляторы:
- Alternative PHP Cache (APC)
- eAccelerator
- Zend Performance Suite
- Turck MMCache
- PHP Accelerator
- AfterBurner Cache
Также возможно использование таких программных комплексов как WEBO site speedUp.
Результатом этих мероприятий является увеличение допустимого количества одновременных пользователей в несколько раз и защита от DDoS атак, т.к. стоимость организации атаки с таким количеством подключений экономически невыгодна для конкурентов. Не ждите когда ваш сайт перестанет работать, как говорится «Пожар легче предотвратить, чем потушить», закажите оптимизацию производительности заранее.