2010-04-12 20 views
2

Je suis en train de concevoir une application qui aura une interface réseau pour alimenter un grand nombre de très petites requêtes de métadonnées. Le code de l'application lui-même est très rapide, recherchant essentiellement des données mises en cache dans la mémoire et envoyées au client.la latence la plus faible, le serveur d'applications le moins lourd?

Quelle est la latence la plus faible que je peux obtenir pour un serveur d'applications réseau s'exécutant sur une machine Linux? Ce sera une application interne fonctionnant sur gigE sans authentification. Tout langage/framework pris en compte, avec une préférence pour C, C++ ou Python. De même pour le protocole, bien que HTTP serait bien.

+0

Je suis intéressé: Avez-vous fini par utiliser gatling ou avez-vous simplement fermé la question? – Tomalak

+0

Nous évaluons gatling, et aussi tornade. –

Répondre

1

Pour un petit serveur HTTP rapide, vous pouvez jeter un oeil à gatling. Principales caractéristiques:

  • libre, opensource
  • petit, rapide, évolutive, qui offre des fonctionnalités anti-DOS
  • Speaks HTTP, HTTPS/TLS, FTP, IPV6, comprend SMB
  • prend en charge SCGI et FastCGI et peut ainsi être utilisé pour exécuter les binaires ELF ou des scripts
  • négociation de contenu transparent (sert gz si le client prend en charge)
  • fait appel à des raccourcis spécifiques à l'OS pour améliorer les performances
  • plusieurs benchmarks inclus
1

Si elle répond à vos besoins, pensez à C ou C++ et zmq

Bien que, pour une application comme celle de la langue ne serait pas le facteur le plus important d'une vue de la performance. Si vous devez prendre en charge un grand nombre de clients, le modèle de programmation serait le facteur décisif, thread par client (plus lent) ou asynchrone/non bloquant (plus rapide).