2012-03-05 4 views
0

Мне нужно создать HTTP-сервер, который получает запросы от многих из них. как немногие 10 000-30 000 в 1-5 сек. его короткий/маленький запрос.
Мне нужно выбрать или пойти и основать его на libevent/libev (или, может быть, ACE?) или сделать это в java, используя java.nio.
Я не нашел тестов, которые составляют 2 типа libevent vs java.nio или ACE vs java.nio.
Что вы думаете эксперты?
с моей точки зрения java более прост в обслуживании (java проще, чем c) , но я подозреваю, что буду платить в исполнении.
Мне нужен совет.
Thanksjava.nio vs libevent, что выбрать при работе с массой http-запросов?

+0

Какие «http-запросы» вам нужно обрабатывать? Возможно, вам даже не нужен полноценный Java-сервер, и что что-то меньшее или более целевое будет работать лучше. – cdeszaq

+0

Вы проверили, подходит ли вам гризли? http://grizzly.java.net/ – Puce

+0

«Подозреваю, что я буду платить». Вы имеете в виду «производительность»? – EJP

ответ

1

Посмотрите на Netty. Это сервер Java NIO, который построен для обработки того, что вы просите.

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

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

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

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

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

+0

спасибо, я исправил его пакетная марка имеет дело с java nio frameworks, то, что im ask - , чтобы сделать пакетную метку с помощью приложения на основе libevent (c/C++) и java nio – user63898

+0

Java будет вероятно, будет медленнее примерно на 20%, чем чистый код c. Но то, что вы получаете с точки зрения ремонтопригодности, будет огромным. Основная причина медленности - копирование данных с ядра на обработку памяти в java-память при чтении и наоборот при записи. –