Хотите попробовать себя в роли хостера?
У нас есть реселлерские тарифные планы,
для хостинга и для доменов.
 
  Вход не выполнен  



Авторизация
 
Логин:
Пароль:
 
     
Последние новости
 
2011-04-06 21:42:29
Внимание!
 
2010-12-01 14:10:55
Возобновление работы компании
 
2010-08-15 18:45:15
Вывод денежных средств!
 
2010-07-18 01:07:36
Внимание! Возобновлена выдача VDS!!!
Все новости
 
     
 

Нагрузка на сервер

Есть три ресурса, которые учитываются хостерами: место на диске, траффик и загрузка процессора.

С местом на диске, по идее, все ясно: никакой нагрузки на сервер масса файлов не создает, нагрузку создает работа с ними. Поэтому это самый дешевый ресурс.

Траффик может быть лимитированным или безлимитным с точки зрения сервера. В первом случае хостеру приходится как-то учитывать, сколько потребляют пользователи, и ограничивать их, если это значение зашкаливает. Поэтому чем меньше отдается динамического контента и "тяжелого" статического (вроде больших архивов) - тем лучше. Но в основном это проблема хостера, а не пользователя.

Нагрузку на процессор можно поделить на три части: веб-сервер, mysql и прочие процессы.

С веб-сервером все сложно. Самый быстрый вариант запуска php - это модуль apache. Но в таком виде учитывать нагрузку, создаваемую конкретным сайтом, довольно сложно, и значение получается абстрактное - например, в процентах от общей нагрузки на сервер. Мы, например, просто смотрим раз в сутки на те сайты, которые особо отличились, и если у них слабые тарифы, просим пользователей задуматься об аренде VDS. Но это бывает редко, в основном, если на сайте счет уникальных посетителей пошел на тысячи, или если там стоит очень неоптимизированная CMS. Есть еще вариант - когда php выполняется как CGI. В таком случае процессы выполняются от имени пользователя, и тут все просто и понятно - получается конкретное значение использования CPU данным пользователем. Но такой способ работы более ресурсоемкий - обычно процессор нагружается в 2-3 раза больше при запуске мелких PHP (много времени уходит на сам процесс запуска). Выгода состоит в гораздо более сильной защите - все данные пользователей изолированы от других. В случае использования модуля apache достаточно поставить на папку права 777, и любой пользователь на сервере может после этого творить в ней что хочет.

С ресурсами MySQL еще хуже - если запускать по одному процессу mysql на каждое подключение, то будет учитываться нагрузка созданная конкретными пользователями, но процессорные затраты вырастут раз в пять, по сравнению со стандартной моделью, когда один процесс mysql запускает треды от имени одного и того же своего пользователя. Но в этом случае понять, кто сколько ресурсов использует, почти невозможно. Мы делаем просто: отслеживаем запросы, которые выполняются дольше 30 секунд, и отправляем их пользователям с просьбой оптимизировать работу с базой. Т.к. это почти всегда просто неграмотно составленный запрос. В среднем, mysql на сервере, где расположен ваш аккаунт, выполняет по 200 запросов в секунду. Процессы, которые запускает пользователь, отследить очень просто и использование CPU ими учитывается всегда, поэтому тут все ясно: если кто-то умудрится собрать и запустить сервер half-life на shared-хостинге, аккаунт заблокируется чуть быстрее, чем сразу.

Выход из положения

Определенный подход к настройке сервера позволяет минимизировать все эти неудобства. Арендуется сервер, на который устанавливается FreeBSD (которая позволяет точно подсчитывать нагрузку на процессор, производимую каждым пользователем), какая-нибудь панель управления вроде DirectAdmin, Apache с выполнением PHP-скриптов через suphp+FastCGI.

В панели управления пользователям даются явно завышенные параметры (например, безлимитное пространство на диске и траффик, а так же 1000 доменов и 1000 баз данных).

Каждому аккаунту назначается определенная минимальная стоимость, которая списывается всегда и идет на покрытие нагрузки, создаваемой поддержкой доменов и баз данных. Можно сделать ее динамической, в зависимости от количества этих ресурсов, используемых пользователем, причем более дорогим будет использование большого количества баз mysql.

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

Плюсов мы тут видим огромное количество. Главный плюс - пользователь платит именно столько, насколько его сайты и процессы нагружают сервер. Например, много сайтов со статическим контентом не нагружают CPU, и платить нужно будет за место на диске (а это самый дешевый ресурс), и за траффик - его будет много. Наоборот, при установке какого-нибудь блога нагрузка будет в основном на CPU, с небольшим количеством траффика и занимаемого на диске места. Также, это позволяет не ограничивать пользователей в запуске своих процессов и демонов, т.к. их работа будет учтена и оплачена пользователем.

Минус один: если какой-то из скриптов заглючит и начнет есть весь процессор и сливать кучу траффика... плохо придется и серверу, и пользователю, когда он увидит счет в конце суток. Поэтому нужно все-таки предусмотреть механизм блокировки аккаунта при экстренной нагрузке.

В данный момент отлаживается сервер, сконфигурированный таким образом. Всех желающих перенесем туда и дадим две недели на то, чтобы осмотреться и причениться. Мы собирались ввести его в эксплуатацию в середине месяца, но из-за финансовых трудностей пришлось перенести этот срок. Следите за новостями на сайте.

 
     
  www.megastock.ru WM Оценки и отзывы наших клиентов