java.nio vs libevent что выбрать при работе с массой http запросов?

Мне нужно построить HTTP-сервер, который будет получать многие из них. вроде мало 10000-30000 за 1-5 сек. это короткий/небольшой запрос.
мне нужно выбрать или пойти и основать его на libevent/libev (или, может быть, ACE ?? ) или сделать это в java, используя java.nio.
я не нашел ни одного тесты, которые конкурируют с двумя, такими как libevent против java.nio или ACE против java.nio.
что вы думаете, эксперты?
с моей точки зрения, java проще в обслуживании (java проще, чем c), но я подозреваю, что я буду платить за производительность.
мне нужен совет.
Спасибо


person user63898    schedule 05.03.2012    source источник
comment
Какие http-запросы вам нужно обрабатывать? Возможно, вам даже не нужен полноценный Java-сервер, и что что-то меньшее или более целенаправленное будет работать лучше.   -  person cdeszaq    schedule 06.03.2012
comment
Вы проверили, соответствует ли гризли вашим потребностям? grizzly.java.net   -  person Puce    schedule 06.03.2012
comment
подозреваю, что я заплачу в предпочтение. Вы имеете в виду производительность?   -  person user207421    schedule 06.03.2012
comment
запросы в формате json длиной 200-300 символов   -  person user63898    schedule 06.03.2012


Ответы (1)


Взгляните на Netty. Это сервер Java NIO, созданный для обработки ваших запросов.

Что касается бенчмарков, то первому хиту от Google уже четыре года:

http://gleamynode.net/articles/2232/

Могу поспорить, что с тех пор Нетти стала лучше.

с моей точки зрения, java проще в обслуживании (java проще, чем c), но я подозреваю, что предпочту платить.

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

person duffymo    schedule 05.03.2012
comment
спасибо, я исправил это, пакетная метка имеет дело с платформами java nio, я прошу сделать пакетную маркировку с приложением на основе libevent (c/c++) и java nio - person user63898; 06.03.2012
comment
Java, вероятно, будет медленнее примерно на 20%, чем чистый код C. Но то, что вы получите с точки зрения ремонтопригодности, будет огромным. Основной причиной медлительности является копирование данных из ядра в память процесса в память java при чтении и наоборот при записи. - person Rohit Karlupia; 02.08.2013