ФорумРазработкаУстановка и администрирование ПОВебсервер → nginx, последовательное выполнение запросов

nginx, последовательное выполнение запросов

  • inse3t

    Сообщения: 23 Репутация: N Группа: Адекваты

    Spritz Дек. 7, 2010, 2:54 д.п.

    Я знаю что бред, но надо. Каг?
    Спустя 67 сек.
    И да, по совету дуда подпишу что "от одного клиента".
    Спустя 47 сек.
    И точно!
    Описываю подробнее: нужно сделать последовательную передачу поступающих запросов от нгинкса к апачу.
  • inse3t

    Сообщения: 23 Репутация: N Группа: Адекваты

    Spritz Дек. 8, 2010, 1:14 п.п., спустя 1 день 10 часов 20 минут

    Вот смотри.
    Сейчас в нгинксе собирается очередь из Н запросов (например одинаковых от одного пользователя) и пачкой отправляются апачу.
    Из-за такой параллельной обработки получаем конкуренцию в обработке одной и той же задачи…
    Конечно это очень небольшая вероятность, но я наблюдаю это часто. :)
    Надо как-то заставить выполнять запросы по мере их поступления, т.е. синхронно, впринципе только от 1го юзера.
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz Дек. 12, 2010, 1:24 п.п., спустя 4 дня 10 минут

    Кто-то пытается бизнес-логику запихать в базу данных, но тут пошли глубже, хотя может я неправильно понял проблему, она связана с каким-нибуть js фрейморком типа ExtJS и частой отправкой запросов при активном использовании приложения?
    Work, buy, consume, die
  • inse3t

    Сообщения: 23 Репутация: N Группа: Адекваты

    Spritz Дек. 12, 2010, 9:07 п.п., спустя 7 часов 42 минуты 18 секунд

    Логика правильная но связано с браузерной игрой. :)
  • Sin

    Сообщения: 80 Репутация: N Группа: Адекваты

    Spritz Дек. 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, это реализует твою задачу, в общем-то. Но запасись хорошим процом, ибо на форках оно будет дуреть.


    ИТОГО: задача выполнена.
    КАМЕНТ: но решение изначально, при постановке задачи, выбрано неправильное
  • inse3t

    Сообщения: 23 Репутация: N Группа: Адекваты

    Spritz Дек. 13, 2010, 12:41 п.п., спустя 8 часов 21 минуту 4 секунды

    Круто. Но это апач. А разве в нгинксе очередь не будет пачкой отдаваться ему?
  • Sin

    Сообщения: 80 Репутация: N Группа: Адекваты

    Spritz Дек. 13, 2010, 8:17 п.п., спустя 7 часов 36 минут 38 секунд

    Пачкой. А он, принимая ее, на каждый запрос будет по одному процессу запускать.
    А вообще - решение страшное, надо в другую сторону копать.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!