Цитата:
Сообщение от Longer
Ну настройки сервера да. Интересно. Ты как очень шраящий в этом вопросе - не можешь занятся )? Т.е. ты точно сможешь сказать, что у тебя с сервером все ок и погрешность (если она есть ) точно в ТДС.
|
не вижу смысла этим заниматься, у меня есть nginx
если хочешь, могу тебе настроить его и траф не будет теряться и пропускная способность несколько к в секунду. Только весь вопрос в правилах, если их много и они сложные - то каждое руками писать долго, надо бы автоматизировать.
Что касается симплы, я смотрел оригинальную мельком пару лет назад. Там логика то простая: если ресурсы сервера позволяют, то уник сливается куда надо, если нет - то проебывается
Смотри, предположим на сервере 512 метров оперативы, из которых 150 ушло системе, осталось 350 на работу вебсервера и бд.
Если геоайпи прикручено через мускул - это пиздец же, сразу нагрузка на базу. Если pecl - то норм. Но нагрузка на БД и так на нее не маленькая из за логов. В общем база отожрет дохера проца и памяти пусть 150. Осталось 200 метров на апач. Чтобы запустить одну копию php скрипта тратиться память, например 40 метров.
Теперь представь, что в один момент пришло 5 уников - все заебись: 5*40 = 200
а если 10 - тоже прокатит, с начала первые 5 выполнятся, а следующие подождут немного.
А если 20 ? - ждать долго надо будет, не дождутся
Все числа очень приблизительные. Но смысл в том, что либо проца, либо памяти не хватит и клиент будет ждать, и либо не дождется, либо его апач сам вырубит. А все из-за тяжелого пхп и сложного апача.
Теперь всю нагрузку умножаем на два, раз с этим трафом последовательно работает две ТДС. Раз редиректы между ТДС сделаны апачем, то кол-во http потоков умножаем на два, апач также должен принять запрос, отдать редирект, опять принять, опять отдать. И все это делается через конечного пользователя. Да тут пиздец сколько шансов проебать траф.
Теперь рассмотри nginx. Он написан на си, быстрый и легковесный. Внутри него нету php, который и не нужен для редиректов. Редиректить можно правилами nginx, они похожи на .htaccess апача, но быстрее в разы. Статистика есть, пишется в файл в настраиваемом формате, можно парсить, если надо. Максмайндовский модуль геоайпи также имеется. Сейчас попробовал запустить синтетический тест на впс 256М - получил скорость примерно 6к конкурентных реквестов в секунду, правда в конфиге правил мало, но тем не менее, апач столько не даст.
У nginx предназначение по сути и есть почти ТДС, только называется фронтенд - более сложный вариант тдс. А у апача с пхп - назначение хуярить тяжелые пхп файлы.
пример правил на nginx, пишу примерно:
Код:
server {
server_name tds.com;
access_log /var/log/tut_logi_budut format;
location / {
# если имеем в реферере кей, то редиректим
if ($http_referer ~* "I has just fucked myself") {
rewrite ^ http://fucked-myself.xxx/ permanent;
}
# всех америкосов на америкосовский шоп
if ($geoip_country_code = "US") {
rewrite ^ http://farma-shop.com/ permanent;
}
# всех канадцев на канадский шоп
if ($geoip_country_code = "CA") {
rewrite ^ http://farma-shop.ca/ permanent;
}
# если пришел гуглобот, то сделаем ему js релирект
if ($http_user_agent *~ "google") {
rewrite ^ /js_redirect.html;
}
}
}
- надо ткнуть
и тут хоть 100500 правил можно сделать, они перед "запуском" веб-сервера парсятся и кешируются, т.е. отсутствует их реалтайм вызов, который сильно тормозит работу веб-сервера, как это в случае апача.
сорри, если отошел от классических ТДС и вопроса проверки проблем в симпле, но может кого-то этот текст натолкнет куда-нибудь
ps забыл сказать, если считать, что симпла тратит на один редирект 40 мег памяти(даже если 1М), то nginx почти ничего на него не тратит, в этом вся и есть проблема симплы и других ТДС на php