Настройка и тестирование под 50 000 запросов в минуту

O
На сайте с 13.08.2008
Offline
26
#11
myhand:
"звучит умно" (с)
что вы хотели этим сказать, если не сложно?

Зачем блочить поток, работающий с клиентом?


многие точно также используют апач. тем более, что там давно уже есть
mod_dbd, использовать который в своем модуле никто не мешает.

Ну круто. Только почему действительно крупные игроки на рынке все как один переезжают на nginx?


nginx просто моден, ну какие приемущества дает его модель
работы в качестве бакенда?

Гибкость и нетребовательность к ресурсам. Ну плюс, очень удобная интеграция самодельных функций в парсер URI и обработку переменных.


ну и что мешает использовать тот самый апач в качестве демона? он ведь
конструктор по сути. только большинство работы за нас уже
сделали (mpm, модули для работы с БД ...)

Зачем? Ну вот зачем тащить весь этот ворох апачевого мусора, со всякими оверрайдами в систему, задача которой - принять запрос от клиента, и спихнуть в обработчик динамики?

Впрочем, ладно - я прекрасно понимаю, что истинное мнение хрен оспоришь. Нравится вам апач - пользуйтесь апачем :) У меня его уже года три как нету нигде, и слава богу.

Outsourcenow.ru: оттюним ваш веб-сервер. 100 млн. запросов в сутки - наш размерчик!
M
На сайте с 16.09.2009
Offline
278
#12
Outsourcenow:
Зачем блочить поток, работающий с клиентом?

далеко не все вещи на свете нужно делать асинхронно.

кроме того, при работе с nginx+mysql блокировки тоже будут.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
[Удален]
#13

ребят, объясните несведущему в чем разница апача и ngiixa 🍻

zexis
На сайте с 09.08.2005
Offline
388
#14
kapow_expert:
ребят, объясните несведущему в чем разница апача и ngiixa 🍻

Апач более медленный, так как имеет больше функций. (например модуль PHP)

Ngix выдерживает больше запросов в секунду, так как специально для этого разработан.

zexis добавил 04.12.2009 в 12:11

kapow_expert:

А по конфигурации сервера кто нибудь что нибудь посоветует? райды, оперативы, процессоры и т.п. Что лучше для производительности\стабильности?

Берите самое лучшее и проверенное.

Железо либо supermicro, либо интел.

10-й рейд.

RAM - 4 Гб или более.

Конкретные рекомендации можно дать только после того как вы определитесь с архетиктурой.

Интересный вопрос - использовать серверное железо или от настольного ПК.

Зависит от вашего кошелька.

Если серверное, то за ту же производительность заплатите раза в 2-3 дороже.

Хотя и хорошее железо настольного ПК может тоже работать в режиме 24х7 годами.

Я как то размещал (6 лет назад) в качестве сервера обчный домашний компьютер (MB Intel, CPU -p4 2.8 Гц) в датацентре.

2 года проработал без проблем.

Потом заменил его на настоящий сервер Supermicro.

M
На сайте с 16.09.2009
Offline
278
#15
zexis:
Апач более медленный, так как имеет больше функций. (например модуль PHP)

апач - другой. это более стабильный в отношении апи конструктор (как и nginx) для

серверов (не обязательно HTTP). только в отличие от nginx - там не

навязывается единственно правильная модель конечного автомата. есть разные

MPM модули, включая гибридный mpm-event:

http://httpd.apache.org/docs/2.2/mod/event.html

который сопоставим с nginx по производительности на аналогичных

задачах (проксирование, раздача статики).

а mod_php тянуть в апач никто не заставляет. у многих гораздо лучше работает

тредовый апач (mpm-worker) + fastcgi.

zexis:

Ngix выдерживает больше запросов в секунду, так как специально для этого разработан.

цифирь имеет смысл, если он статику раздает :) а на его обычной задаче - он прокси,

пресловутое "число запросов в сек" не им одним определяется.

Outsourcenow (если я правильно понял) имел в виду его именно в контексте прокси,

где "бакендом" именно "база данных" является (и скорее всего, не SQL)

и используются неблокирующие сокеты.

[Удален]
#16

Спасибо всем за ответы. Очень познавательно.

Еще парочка вопросов:

1. Обязательно ли базу и апач\nginix разносить по разным серверам при высокой нагрузке? Как должны эти серверы соединяться?(в одном датацентре кабелем?:))

2. В каких случаях производительность упирается в канал?

3. Насколько важно нахождение сервера в той же стране, что и пользователи?

4. Можете ли привести пример, когда для какого нибудь приложения используются ведущие и ведомые сервера? (слышал какой то телеком использует по ведущему серверу для базы и апача и по 2-м ведомым к ним). Какие еще типы бывают?(где мелькало "стабилизационный")

Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#17

А php-скрипт многое делает?

С уважением, Борис Долгов. Администрирование, дешевые лицензии ISPsystem, Parallels, cPanel, DirectAdmin, скины, SSL - ISPlicense.ru (http://www.isplicense.ru/?from=4926)
M
На сайте с 16.09.2009
Offline
278
#18

Борис, выше выяснили - что крайне немного: split + mysql insert

Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#19

Ага, перечитал тему, где-то половина ее ускользнула от меня при первом прочтении :((

В принципе, мне тоже кажется, дергать php нецелесообразно, и можно написать модуль для nginx, который будет делать это. Правда, там придется писать асинхронный коннектор к БД, что очень бажно и затянется.

zexis
На сайте с 09.08.2005
Offline
388
#20
kapow_expert:
Спасибо всем за ответы. Очень познавательно.
Еще парочка вопросов:
1. Обязательно ли базу и апач\nginix разносить по разным серверам при высокой нагрузке? Как должны эти серверы соединяться?(в одном датацентре кабелем?:))

Если справляется один сервер, то лучше делать на одном.

Так как не будет расходов на пересылку по сети между серверами.

Можно сервера соединить отдельным проводом, если есть свободные сетевые карты и настроить маршрутизацию.

А можно и не соединять их напрямую, а просто подключить к интернету.

kapow_expert:

2. В каких случаях производительность упирается в канал?

Если канала не хватает

kapow_expert:

3. Насколько важно нахождение сервера в той же стране, что и пользователи?

На 0,2-0,5 секнды будет быстрее ответ серверера.

kapow_expert:


4. Можете ли привести пример, когда для какого нибудь приложения используются ведущие и ведомые сервера? (слышал какой то телеком использует по ведущему серверу для базы и апача и по 2-м ведомым к ним). Какие еще типы бывают?(где мелькало "стабилизационный")

Ведущий и ведомый сервера используются в MySQL.

Запись данных производится только на ведущий сервер.

А чтение производится с любого сервера.

Ведущий реплицирует данные в ведомые сервера, через какой то промежуток времени.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий