Le choix de la taille du buffer pour les transferts FTP et HTTP
Comment choisir la taille de la mémoire tampon (octets je de lire ou d'écrire à douille) pour le débit maximal lors de la mise en œuvre d'un faible niveau de HTTP et FTP de transfert? Mon application doit transférer des données avec le protocole HTTP ou FTP sur les connexions variant de 130 Kbps à 3 Mbit /s (je sais que la vitesse attendue à l'avance). Parfois, c'est un moyen de transfert, parfois, il va dans les deux sens. Dois-je coller avec certaines moyenne de la taille de la mémoire tampon ou je doit varier en fonction de la vitesse de connexion?
Grâce.
OriginalL'auteur wasker | 2008-11-11
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, prenez quelques mesures.
Puis, après vous avez un système fiable de mesure de la performance, de faire des changements à votre taille de la mémoire tampon et le tracé d'un graphique de la vitesse par rapport à la taille du tampon.
Puisque vous savez que la vitesse de connexion à l'avance, vous devriez être en mesure d'obtenir des mesures de la vitesse réelle avec différentes tailles de mémoire tampon.
L'OS, de la pile de protocole de réseau et est trop complexe pour préparer une réponse à partir de principes premiers. Vous avez besoin de mesurer avant de faire quoi que ce soit.
Si il y a un algorithme générique, il aurait déjà été mise en œuvre dans le cadre du protocole. Il n'y a jamais algorithmes génériques qui n'ont pas été mises en œuvre. La mesure est votre seul choix.
OriginalL'auteur S.Lott
Choisir une taille de mémoire tampon de plus de 8 KO. 9000 est généralement la plus grande MTU (maximum transmission unit) taille utilisée dans même le plus rapide des réseaux.
Lorsque vous utilisez un tampon plus grand que le MTU de la connexion, le système d'exploitation le décomposer en morceaux de taille de MTU en tant que de besoin, et donc tout ce que vous utilisez au cours de la MTU aura peu d'effet sur les performances du réseau.
Cependant, à l'aide d'un tampon de grande aura probablement d'autres effets sur les performances, si vous transférez des fichiers, puis à l'aide de tampons de grande taille peut augmenter les performances en lecture, et ainsi d'améliorer la vitesse de votre application.
Donc, Généralement de choisir un beau chiffre rond comme 16KB est une bonne idée. Certainement ne pas passer sous 1500, car cela peut avoir un effet négatif de la performance du réseau (à l'origine du système d'exploitation à envoyons parfois des petits paquets, ce qui diminue les performances sur le réseau).
Qui dépend des caractéristiques physiques de la liaison (simplex vs duplex). La plupart des connexions ethernet sont en duplex, ce qui signifie qu'ils peuvent envoyer et recevoir en même temps.
Mais aussi, généralement, de la congestion dans les réseaux est causée par le nombre de paquets (pas de leur taille). Autant de petits paquets peuvent causer plus de problèmes que de quelques grands.
Si cela fait une différence, nous parlons de réseaux cellulaires.
OriginalL'auteur SoapBox