минимальная задержка, наименьшая нагрузка на сервер приложений? - PullRequest
2 голосов
/ 13 апреля 2010

Я разрабатываю приложение, которое будет иметь сетевой интерфейс для подачи большого количества очень маленьких запросов метаданных. Сам код приложения очень быстрый, он в основном ищет данные, кэшированные в памяти, и отправляет их клиенту.

Какую абсолютную минимальную задержку я могу получить для сервера сетевых приложений, работающего на Linux? Это будет внутреннее приложение, работающее на gigE без аутентификации. Любой рассматриваемый язык / фреймворк с предпочтением C, C ++ или Python. Аналогично для протокола, хотя HTTP был бы хорош.

Ответы [ 4 ]

1 голос
/ 14 марта 2012

G-WAN предлагает C и C ++ сценарии и был протестирован с почти 800 000 запросов в секунду .

Я не знаю ничего быстрее этого, и многие другие серверы были протестированы .

1 голос
/ 13 апреля 2010

Если это соответствует вашим потребностям, рассмотрите C или C ++ и zmq

Хотя для такого приложения язык не был бы самым важным фактором с точки зрения производительности. Если вам нужно поддерживать большое количество клиентов, модель программирования будет решающим фактором: поток на клиента (медленнее) или асинхронный / неблокирующий (быстрее).

1 голос
/ 13 апреля 2010

Facebook недавно получил свои собственные memcached для обработки 200 000 запросов в секунду с задержкой 173 микросекунд .

Вы можете прочитать исходный код , чтобы увидеть, как они это сделали. Одним из их самых больших изменений было удаление TCP и использование UDP вместо этого.

1 голос
/ 13 апреля 2010

Для небольшого, быстрого HTTP-сервера вы можете взглянуть на gatling .Основные характеристики:

  • бесплатно, с открытым исходным кодом
  • маленький, быстрый, масштабируемый, поставляется с функциями защиты от DOS
  • говорит по HTTP, HTTPS / TLS, FTP, IPV6,понимает, что SMB
  • поддерживает SCGI и FastCGI и, таким образом, может использоваться для запуска двоичных файлов ELF или сценариев
  • согласование прозрачного содержимого (служит для gz, если клиент его поддерживает)
  • используетСпецифичные для ОС сочетания клавиш для повышения производительности
  • включены несколько тестов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...