PHP: Анти-волновая защита чата
Очень многие чаты содержат фреймы, в которых отображаемые страницы обновляются с определенным интервалом времени. Каждое такое обноврение нагружает процессор сервера.
/=\ 1 запрос / \ ________/ \_____Это пример запроса на обновление от одной страницы. Когда страниц много (в чате, например) то можно наблюдать следующую картину:
/=\ 1 запрос / \ ________/ \_____ /=\ 2 запрос / \ ________/ \_____
/====\ / \ / \ суммарная загрузка сервера / \ ________/ \_____Не трудно заметить, что одновременное обращение к серверным ресурсам заставляет сервер сильнее напрягаться, что приводит к более долгой обработке каждого скрипта в отдельности (всем по чуть-чуть).
Этот эффект нагрузки на сервер можно назвать волновым эффектом. С ним нужно бороться. Один из способов - стараться не создавать волн. Постороим анти-волновую защиту чата, написанную на php.
Обновление страниц осуществляется с помощью META тега REFRESH:
<META HTTP-EQUIV='Refresh' Content='число; URL=страница'>
Наша задача, варьировать число при каждой перезагрузке страницы.
Оптимально пользоваться формулой x = x + rand(0, x div 5); т.е. обновление страницы происходит через x, ..., x + (x div 5) секунд. Для х=10 секундам, обновление возможно через 10, 11, 12 секунд. Для х=100 секундам, обновление возможно через 100, 101, ..., 120 секунд.
Код анти-волновой защиты на php будет выглядеть так (для 100 секунд):
<?php $x=100+rand(0,20); ?> <META HTTP-EQUIV='Refresh' Content='<?php echo x; ?>; URL=страница'>Приятных часов программирования.
JavaScript — это язык веб-программирования, работающий на стороне клиента, позволяющий автоматизировать какую-либо деятельность на странице сайта, не нагружая сервер. Вся нагрузка лежит на компьютере пользователя. В нем можно создавать функции, а также использовать базовые алгоритмы, состоящие из следования-ветвления-цикла. Чаще всего программный код на языке JavaScript обрабатывается обычными веб-браузерами.
Интересные материалы на сайте:
Для системных администраторов и любителей настраивать веб-сервера написана эта статья.
Небольшие рекомендации для системных администраторов, управляющих корпоративным почтовым сервером.
Анализ способов противодействия ненормативной лексике в онлайн-сервисах, таких как чаты, форумы, гостевые книги.
Для владельцев устаревшей морально и физически операционной системы Windows 98 посвящается статья о вреде использования этой операционной системы в локальной сети.