URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7172
[ Назад ]

Исходное сообщение
"Распределение нагрузки на два сервера"

Отправлено makarov321 , 11-Мрт-11 09:30 
Всем привет.
В данный момент имеется один сервер, достаточно мощный, с 8гб RAM и двумя Intel(R) Xeon(R) CPU           E5410  @ 2.33GHz.

На сервере nginx, php-fpm, mysql. Стандартный набор для веб-сервера. Работает под FreeBSD 7.2.
Начались приличные торможения, особенно по вечерам.
Вот график по трафику:
http://img863.imageshack.us/img863/5404/graphimage.png
Можно увидеть, что в пиках подходим к максимальной пропускной способности канала 100мбит. Больше подключить на сервер возможности нет. (хотя, может можно во второй порт воткнуть еще 100мбит, но есть ли смысл?)

Попарсил логи нгинкса, получается такая картина. По вечерам 700-800 запросов в секунду со статикой и около 65-80 без статики (чисто на php-fpm).

Еще на севере стоят САТАшные говнохарды для десктопов (ступили в момент закупки). Два харда по 1ТБ стоят в geom'е в RAID1.
Вот нагрузка на харды:
http://xmages.net/storage/10/1/0/9/9/upload/742fc2b6.png
Не могу понять, как ее интерпретировать.. Может, подскажете?
Даже если не в хардах дело, все равно по трафику видно, что канала скоро не будет хватать.
Да, кстати настроен pf, так что лишнего трафика не должно быть.

Короче говоря, собираемся брать второй сервер. В связи с этим возникли следующие вопросы.
Как лучше распределить нагрузку? На один вынести нгинкс + харды со статикой, а на втором оставить мускуль и пхп-фпм?
Какой сервер лучше взять? Какие харды в какой сервер впихнуть?
Бюджет 60-80к.

Всем спасибо за внимание.


Содержание

Сообщения в этом обсуждении
"Распределение нагрузки на два сервера"
Отправлено Константин , 11-Мрт-11 12:38 
DNS round-robin, не?

"Распределение нагрузки на два сервера"
Отправлено makarov321 , 12-Мрт-11 00:06 
Всмысле подключить второй порт и распределять запросы между двумя айпишниками одной и той же мшаины? Вы про это?

> DNS round-robin, не?


"Распределение нагрузки на два сервера"
Отправлено Константин , 12-Мрт-11 00:19 
> Всмысле подключить второй порт и распределять запросы между двумя айпишниками одной и
> той же мшаины? Вы про это?

Всмысле на вторую машину поставить ту же связку nginx/php-fpm/mysql ( хотя mysql можно оставить на одной машине и обращаться к ней. А можно и репликацию замутить если нагрузка на базу сильная или заняться нечем :) ).
А запросы от клиентов будут балансироваться "по-кругу" между 2-мя серваками ->  на каждый сервак в идеале будет попадать половина от общего кол-ва запросов.

Скользкий момент - где держать общие данные(сессии/кеш/etc) - тут спасет либо NFS( щаз заплюют )) ), либо memcache, либо что-то еще что Вам подойдет.

ЗЫ. DNS round-robin возможно не самый лучший вариант - это первое что пришло в голову )