Bestimmen der Mitwirkenden zur verstrichenen Zeit während einer Netzwerkanfrage
Die Situation:
- Es gibt einen Remote-Server.
- Ich führe ein Client-Programm aus, das den Server aufruft und Daten anfordert.
- Diese Anforderungen sind sehr langsam.
- Der Server begrenzt die Anzahl der Ergebnisse auf 50 und paginiert den Rest. Wenn also insgesamt 300 Ergebnisse vorliegen, muss ich insgesamt 6 separate Anfragen stellen.
- (Per James 'Kommentar) Die Daten liegen im JSON-Textformat vor.
- (Per James 'anderer Kommentar) Die Verbindung ist eine https (SSL) -Verbindung.
Der Eigentümer des Servers hat angeboten, die Anzahl der Ergebnisse pro Seite zu erhöhen, damit ich weniger Anfragen stellen kann.
Obwohl ich denke, dass dies helfen wird, mache ich mir Sorgen, dass die Transaktion für meine Zwecke immer noch nicht schnell genug ist. Ich frage mich: Was ist, wenn das Problem nicht der Server-Overhead für das Abrufen von Daten ist? Was ist, wenn der größte Erfolg bei der Leistung auf Netzwerkbandbreite und Latenz zurückzuführen ist?
Wie würde ich das herausfinden? Ich habe überhaupt keinen Zugriff auf den Server. Nehmen wir an, eine Anfrage dauert 3 Sekunden. Dann:
- Welcher Teil dieser 3 Sekunden wird mit dem Öffnen der TCP-Verbindung verbracht?
- Welcher Teil wird für das Senden der Anforderungsdaten ausgegeben?
- Welcher Teil wird für das Warten auf den Server aufgewendet, um die Daten abzurufen?
- Welcher Teil wird aufgewartet, bis alle angeforderten Daten auf meinem Computer angekommen sind?
Ich möchte nicht unbedingt meinen eigenen TCP / IP-Code rollen müssen, um den Zugriff auf niedriger Ebene zu erhalten, der für solche Messungen erforderlich ist.
Ich bin mir sicher, dass dafür Werkzeuge geschrieben werden müssen. Während ich mit Google arbeite, sehe ich Programme wie netstat, ss, netperf, ttcp usw. Aber ich bin nicht einmal sicher, welche Wörter in einer Google-Suche verwendet werden sollen, um nach Lösungen für dieses Problem zu suchen.
Irgendwelche Ideen?
0 Antworten auf die Frage
Verwandte Probleme
-
2
Erinnert sich Windows 7 Home Premium an Netzwerkfreigaben-Passwörter?
-
5
Gibt es drahtlose Router, die Bandbreitenüberwachung und -drosselung ermöglichen?
-
5
XP-Netzwerkverbindung ohne Neustart freigeben?
-
5
Wie richte ich Windows ein, 802.11 gegenüber 3G zu bevorzugen?
-
4
Gibt es eine Möglichkeit, den Scanner eines Multifunktionsdruckers gemeinsam zu nutzen?
-
3
Wie können Sie die Akkulaufzeit eines Laptops eines Windows-PCs optimal nutzen?
-
3
Gibt es eine Möglichkeit, zwei Computer über USB anzuschließen?
-
8
Warum sind Upload-Raten niedriger als Download-Raten bei normalen Internetverbindungen?
-
1
Was kann ich unter Windows XP ausschalten, um Speicher freizugeben, ohne alles zu beschädigen
-
2
Was kann ich auf einem Vista-Laptop ausschalten, um Ressourcen freizugeben