У період високого трафіку ваш сервер повинен мати можливість обробляти всі запити відвідувачів вашого веб-сайту. Але в паралельних з'єднаннях, якими обробляє сервер, є деякі обмеження. Тому найкраще подавати запити на сторінку якомога швидше.
Ось кілька пропозицій, які слід врахувати в цих ситуаціях,
Покращення рівня програми:
1. Мінімізуйте запити HTTP, щоб пришвидшити час завантаження сторінки.
a) Об'єднайте всі файли JS разом в єдиний комбінований файл JS, а всі файли CSS в єдиний комбінований файл CSS.
b) Мінімізуйте JS та CSS файли, тому розмір файлів зменшиться та завантажується швидше.
c) Використовуйте CSS-спрайти - Коли ви об'єднуєте більшість або всі свої зображення в спрайт, ви перетворюєте кілька запитів на зображення лише в один. Потім ви просто використовуєте властивість CSS фонового зображення для відображення потрібного вам розділу.
г) Затримка завантаження зображень із ледачим завантаженням, це буде корисно для зменшення http-запитів.
2. Підготуйте полегшені сторінки, які очікують більше відвідувань:
а) Виключайте декоративні елементи, такі як зображення або Flash, де це можливо; використовуйте текст замість зображень у навігації по сайту та хроміруйте, а більшу частину вмісту розміщуйте в HTML.
б) Використовуйте статичні сторінки HTML, а не динамічні; останні розміщують більше навантаження на ваші сервери. Ви також можете кешувати статичний вихід динамічних сторінок, щоб зменшити навантаження сервера.
Поліпшення рівня сервера:
1. Зменшіть значення тайм-ауту сервера , проконсультувавшись з постачальником послуг хостингу (не повинно бути занадто низьким).
Коли тайм-аути зменшуються, з'єднання буде випущено незабаром, тому сервер зможе обробляти більше з'єднань.
2. Використовуйте сторонні сервіси, наприклад CloudFlare, для статичного кешування даних та захисту свого веб-сайту від зловмисних користувачів та атак, таких як DDOS.
3. Оновіть апаратне забезпечення сервера - оновіть фізичну та віртуальну пам'ять, збільште ліміти процесів вводу / виводу та входу, якщо потрібно. Ваш хостинг-провайдер зможе вам краще допомогти.
4. Динамічний код кешу - Використовуйте APC для кешування коду PHP.
5. Балансування завантаження - розподілити навантаження на декілька серверів балансування навантаження.
Коли будуть вжиті всі необхідні дії, тепер настав час перевірити, чи готовий веб-сайт до величезного стрибка трафіку.
Є деякі сторонні сервіси, такі як loadimpact.com, які надають тестування навантаження з імітованим трафіком. Аналіз допоможе вам зрозуміти, з якою завантаженням може працювати ваш веб-сайт і що можна вдосконалити.
Крім того, у період різкого трафіку уникайте великих операцій із використання процесора, таких як копіювання веб-сайтів тощо.