Описываю подробнее: нужно сделать последовательную передачу поступающих запросов от нгинкса к апачу.
Форум → Разработка → Установка и администрирование ПО → Вебсервер → nginx, последовательное выполнение запросов
nginx, последовательное выполнение запросов
-
8 декабря 2010 г. 13:14, спустя 1 день 10 часов 20 минут
Вот смотри.
Сейчас в нгинксе собирается очередь из Н запросов (например одинаковых от одного пользователя) и пачкой отправляются апачу.
Из-за такой параллельной обработки получаем конкуренцию в обработке одной и той же задачи…
Конечно это очень небольшая вероятность, но я наблюдаю это часто. :)
Надо как-то заставить выполнять запросы по мере их поступления, т.е. синхронно, впринципе только от 1го юзера. -
12 декабря 2010 г. 13:24, спустя 4 дня 10 минут
Кто-то пытается бизнес-логику запихать в базу данных, но тут пошли глубже, хотя может я неправильно понял проблему, она связана с каким-нибуть js фрейморком типа ExtJS и частой отправкой запросов при активном использовании приложения?Work, buy, consume, die -
12 декабря 2010 г. 21: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 г. 20:17, спустя 7 часов 36 минут 38 секунд
Пачкой. А он, принимая ее, на каждый запрос будет по одному процессу запускать.
А вообще - решение страшное, надо в другую сторону копать.
Пожалуйста, авторизуйтесь, чтобы написать комментарий!