Showing posts with label apache. Show all posts
Showing posts with label apache. Show all posts

Sunday, May 8, 2011

Еще пара мелких оптимизаций

Использование более удобный для кеширование url(пример для Apache):
  • создаем папочку с файлом .htaccess:
    RewriteEngine On
    RewriteRule ^/?(.*)/(.*)$ /$1?$2 [L]
  • И запрашиваем все файлы из нее по url вида имя папки/нужный ресурс/старый путь относительно корня/параметры вызова - в результате получим, что то подобное /img/avatar.sh?user=1 => /stat/img/avatar.sh/user=1.
И возможность заставить всех ходить через https без перенаправления - стоит пользователю один раз зайти через https - и в течении указаного в заголовке Strict-Transport-Security времени браузер обязан сам заменять все запросы к http на https без запроса к серверу. То есть человек один раз делает запрос на http - мы его перенаправляем на https, и уже на запрос по https мы ему указываем что в течении определенного времени делать запросы только на https.

Wednesday, May 6, 2009

Маленькие выводы по кэшированию

Или временное завершение этой темы...
  • Проверить качество кэширования можно используя эту ссылку, на этом сайте также даются рекомендации по сжатию контента и приводятся данные относительно времени загрузки через различные каналы;
  • статья относительно указания параметров кэширования на примере использования Apache, даются достаточно универсальные методы указания параметров кэширования;
  • эталонное описание как должно работать кэширование rfc2616;
  • идеи относительно времени кэширования, построения гибкой версии указания этого времени и перенаправления во время обработки для увеличения степени валидности кэша;
  • и как заключение пример архитектуры.

Friday, April 3, 2009

Недостаток в коде модуля балансировки

Обнаружилась маленький недостаток в модуле балансировки - не контролируется количество поставленных в ожидание освобождения ресурсов (очередь на основе семафора) - при большом превышении количества запросов по отношению к ограничению - запрос может быть выполнен даже после того как клиент отсоединиться от сервера - время ожидание ничем не ограничено. То есть существует вероятность: что модуль при очень большом количестве запросов будет давать запросы ответы на которые пользователь уже не ждет. Этот недостаток не должен сильно повлиять не производительность системы - так как на DOS атаку он не был рассчитан, он предназначен только для выравнивания и снижения единовремменой пиковой нагрузки.

Saturday, January 24, 2009

Модуль балансировки

Выложил исходный код модуля балансировки под Apache. Создан он был года 3 назад для диплома, на новых версиях сервера может не работать, но как пример исходника модуля с комментариями я думаю пойдет.

Он позволяет:
  • перенаправлять запросы с одного сервера на другой;
  • ограничивает нагрузку на сервер (количеству соединений одновременно);
  • замена url в результирующем запросе (реализована только смена url);
  • фильтр обрабатываемых url;
  • скрытие источника трафика на сервер (замена описания клиента, и запоминание кукиесов).
Использовался для исследование балансировки нагрузки на сервера.