Je suis en utilisant une bibliothèque open source pour se connecter à mon serveur. Je craignais que le serveur allait extrêmement lent et puis j'ai essayé de faire un simple test en Ruby et j'ai eu ces résultats
Ruby programme: 2.11 secondes pour 10 HTTP Obtient
Ruby programme: 18.13 secondes pour 100 HTTP Obtient
C# bibliothèque: 20.81 secondes pour 10 HTTP Obtient
C# bibliothèque: 36847.46 secondes pour 100 HTTP Obtient
J'ai profilé et a trouvé le problème à cette fonction:
private HttpWebResponse GetRawResponse(HttpWebRequest request) {
HttpWebResponse raw = null;
try {
raw = (HttpWebResponse)request.GetResponse(); //This line!
}
catch (WebException ex) {
if (ex.Response is HttpWebResponse) {
raw = ex.Response as HttpWebResponse;
}
}
return raw;
}
La ligne est prend plus de 1 seconde à s'exécuter par elle-même tandis que le rubis programme 1 demande prend de 3 secondes. Je suis également de faire tous ces tests sur 127.0.0.1, de sorte que la bande passante du réseau n'est pas un problème.
Ce qui pourrait être la cause de cette énorme ralentir?
Mise à JOUR
Découvrez la changé résultats de référence. J'ai effectivement testé avec 10 se et pas 100, j'ai mis à jour les résultats.