Описываю подробнее: нужно сделать последовательную передачу поступающих запросов от нгинкса к апачу.
Форум → Разработка → Установка и администрирование ПО → Вебсервер → nginx, последовательное выполнение запросов
nginx, последовательное выполнение запросов
-
Дек. 8, 2010, 1:14 п.п., спустя 1 день 10 часов 20 минут
Вот смотри.
Сейчас в нгинксе собирается очередь из Н запросов (например одинаковых от одного пользователя) и пачкой отправляются апачу.
Из-за такой параллельной обработки получаем конкуренцию в обработке одной и той же задачи…
Конечно это очень небольшая вероятность, но я наблюдаю это часто. :)
Надо как-то заставить выполнять запросы по мере их поступления, т.е. синхронно, впринципе только от 1го юзера. -
Дек. 12, 2010, 1:24 п.п., спустя 4 дня 10 минут
Кто-то пытается бизнес-логику запихать в базу данных, но тут пошли глубже, хотя может я неправильно понял проблему, она связана с каким-нибуть js фрейморком типа ExtJS и частой отправкой запросов при активном использовании приложения?Work, buy, consume, die -
Дек. 12, 2010, 9:07 п.п., спустя 7 часов 42 минуты 18 секунд
Логика правильная но связано с браузерной игрой. :) -
Дек. 13, 2010, 4:20 д.п., спустя 7 часов 13 минут 2 секунды
Солюшен в тупом виде кагде говорит нам, во-первых, KeepAlive Off, во-вторых, MPM Prefork, a в-третьих:
<IfModule prefork.c>
StartServers 64
MinSpareServers 32
MaxSpareServers 64
ServerLimit 128
MaxClients 128
MaxRequestsPerChild 1
</IfModule>
При меморилимите 16M и 3G RAM, это реализует твою задачу, в общем-то. Но запасись хорошим процом, ибо на форках оно будет дуреть.
ИТОГО: задача выполнена.
КАМЕНТ: но решение изначально, при постановке задачи, выбрано неправильное -
Дек. 13, 2010, 12:41 п.п., спустя 8 часов 21 минуту 4 секунды
Круто. Но это апач. А разве в нгинксе очередь не будет пачкой отдаваться ему? -
Дек. 13, 2010, 8:17 п.п., спустя 7 часов 36 минут 38 секунд
Пачкой. А он, принимая ее, на каждый запрос будет по одному процессу запускать.
А вообще - решение страшное, надо в другую сторону копать.
Пожалуйста, авторизуйтесь, чтобы написать комментарий!