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

1 234 5
M
На сайте с 16.09.2009
Offline
278
#21
Boris A Dolgov:

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

о чем и речь :) ну чем здесь апач хуже? написать для него простенький модуль, зависящий

от mod_dbd. prefork здесь не нужен - лучше worker. нагрузка не та, чтобы серьезно заморачиваться

с асинхронщиной.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
[Удален]
#22
myhand:
о чем и речь ну чем здесь апач хуже? написать для него простенький модуль, зависящий
от mod_dbd. prefork здесь не нужен - лучше worker. нагрузка не та, чтобы серьезно заморачиваться
с асинхронщиной.

т.е. php использовать в данном случае вообще нецелесообразно\невозможно? или все таки можно и его, раз не та нагрузка?:)

Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#23
myhand:
о чем и речь :) ну чем здесь апач хуже? написать для него простенький модуль, зависящий
от mod_dbd. prefork здесь не нужен - лучше worker. нагрузка не та, чтобы серьезно заморачиваться
с асинхронщиной.

1) при использовании mpm_prefork, на обработку одного запроса будет тратиться 1 процесс. Это - расточительство.

2) при использовании mpm_worker, думаю, все равно останется достаточно явный вопрос производительности и сложности написания. Хотя, я не пробовал апач с mpm_worker, так как не вижу в этом смыслаю. Там все на тредах?

С уважением, Борис Долгов. Администрирование, дешевые лицензии ISPsystem, Parallels, cPanel, DirectAdmin, скины, SSL - ISPlicense.ru (http://www.isplicense.ru/?from=4926)
M
На сайте с 16.09.2009
Offline
278
#24
Boris A Dolgov:
2) при использовании mpm_worker, думаю, все равно останется достаточно явный вопрос производительности и сложности написания. Хотя, я не пробовал апач с mpm_worker, так как не вижу в этом смыслаю. Там все на тредах?

там тред на клиента (вместо процесса). памяти заметно меньше уходит.

можно посмотреть примеры модулей, использующие готовое там апи для

управления соединениями с базой. authn_dbd_module, например.

kapow_expert:
т.е. php использовать в данном случае вообще нецелесообразно\невозможно? или все таки можно и его, раз не та нагрузка?:)

c prefork - однозначно нельзя, уйдет уйма ресурсов на каждый процесс.

mpm worker в этом отношении получше - но mod_php не thread-safe, потому нельзя его

пихать вместе с тредовыми mpm.

Andreyka
На сайте с 19.02.2005
Offline
822
#25

Я собирал thread-safe и работало отлично

Не стоит плодить сущности без необходимости
M
На сайте с 16.09.2009
Offline
278
#26
Andreyka:
Я собирал thread-safe и работало отлично

да, там есть опция "--enable-maintainer-zts". кому лень

посмотреть в багтрекер PHP - собирают с ней.

причем баги есть совсем древние:

http://bugs.php.net/bug.php?id=16820

nick_c
На сайте с 21.04.2008
Offline
89
#27

freebsd + zope + python + postgresql

Эффективная раскрутка сайта (http://raskrutka.com.ua) в Google.
N
На сайте с 06.05.2007
Offline
419
#28

Так и не понятно, этот сервис индивидуален для каждого мобильника или все данные взаимосвязаны ?

В первом случае можно использовать несколько серверов бд с полностью изолированными данными и не париться вообще.

Кстати, в nginx даже есть mod_perl, что весьма развязывает руки в выборе интерфейсов куда данные можно поместить.Я бы попробовал на нем сделать запись в разные файлы и потом потихоньку на нескольких серверах обрабатывать файлы и вставлять в базу на любимом языке.

Тут ничего не было сказано насколько быстро данные должны появляться в базе, сказали только про обработку запросов.

Кнопка вызова админа ()
[Удален]
#29
netwind:
Так и не понятно, этот сервис индивидуален для каждого мобильника или все данные взаимосвязаны ?
В первом случае можно использовать несколько серверов бд с полностью изолированными данными и не париться вообще.

Взаимосвязаны

netwind:
Тут ничего не было сказано насколько быстро данные должны появляться в базе, сказали только про обработку запросов.

Сразу же. Идея в том что мы вместе с 911 помогаем человеку попавшему в беду, предоставляя службе 911 последние данные, информируя родственников и т.п. Тут промедление может стоить человеку жизни.

M
На сайте с 16.09.2009
Offline
278
#30
netwind:
Кстати, в nginx даже есть mod_perl, что весьма развязывает руки в выборе интерфейсов куда данные можно поместить.Я бы попробовал на нем сделать запись в разные файлы и потом потихоньку на нескольких серверах обрабатывать файлы и вставлять в базу на любимом языке.

perl годится, только если вставлять данные в промежуточное хранилище и очень быстро.

иначе вся асинхронщина убъется. не уверен, что даже запись в разные файлы

сгодится в случае ТС.

http://sysoev.ru/nginx/docs/http/ngx_http_perl_module.html#bugs:

Если perl'овый модуль выполняет длительную операцию, например, определяет адрес по имени, соединяется с другим сервером, делает запрос к базе данных, то на это время все остальные запросы данного рабочего процесса не будут обрабатываться. Поэтому рекомендуется ограничиться операциями, время исполнения которых короткое и предсказуемое, например, обращение к локальной файловой системе.

1 234 5

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