Ich baue eine dynamische Suche (mit jedem Tastendruck aktualisiert): Mein aktuelles Schema ist es, bei jedem Tastendruck eine neue AJAX-Anfrage an den Server zu senden und Daten in JSON zurück zu bekommen.
Ich habe erwogen, einen WebSocket für jede Suchsitzung zu öffnen, um etwas Overhead zu sparen. Ich weiß, dass dies Zeit spart, aber die Frage ist, ist es wirklich wert, unter Berücksichtigung dieser Parameter: 80 ms durchschnittliche Ping-Zeit 166 ms: Zeit zwischen jedem Tastendruck, vorausgesetzt, der Benutzer gibt relativ schnell ein Eine Worst-Case-Übertragungsrate von 1 MB / s, wobei jedes Datenpaket, das bei jedem Tastenanschlag empfangen werden muss, nicht mehr als 1 KB beträgt. Die App benötigt auch etwas 30-40ms, um die Suchergebnisse an das DOM zu verschmelzen.
Ich habe Folgendes gefunden: HTTP vs WebSockets in Bezug auf den Overhead , aber es war ein anderer Anwendungsfall.
Reduzieren Websockets alles außer dem reinen HTTP-Overhead? Wie hoch ist der HTTP-Overhead (ohne Cookies und minimale Header)?
Ich nehme an, dass HTTP-Anfragen bei jeder Anfrage einen neuen Netzwerk-Socket öffnen, während der WebSocket uns erlaubt, immer nur einen zu verwenden. Wenn mein Verständnis korrekt ist, was ist der tatsächliche Aufwand beim Öffnen eines neuen Netzwerk Sockets?
Es scheint, als ob WebSockets in Situationen wie Ihrer eine bessere Leistung bieten.
Web Socked
Http
Auf der anderen Seite ist WebSocket eine relativ neue Technologie. Es wäre ratsam, die Unterstützung von Web-Browsern bei möglichen Netzwerkproblemen zu untersuchen.
Ref:
Tags und Links javascript node.js http websocket overhead