2010-12-31 4 views
4

Hallo
Ist es wahr, dass, wenn wir wenig Daten hin und her zum Client/Server übergeben der Aufwand von tcp/ip vernachlässigbar ist und Leistung ist wie NamedPipe auf der gleichen Maschine?NamedPipe vs TCP/IP in wenig Daten

+1

würde ich sagen, dass dies auf die Architektur hängt, so dass Sie sich besser in Ihren spezifischen Bedingungen messen. –

+0

Leistung ist sehr subjektiv zu dem, was Sie erreichen möchten. Anzahl der Transaktionen in X Zeit. –

Antwort

5

Ich würde sagen, es ist nicht so sehr die Datenmenge ist so viel wie es die Anzahl der Anfragen ist. Mit anderen Worten, wenn Sie 100.000 Verbindungen haben, die 100 Datenbytes passieren, haben Sie mehr tcp/ip Overhead als wenn Sie 10 Verbindungen von jeweils 100K haben.

Das heißt nicht, dass es keinen Overhead gibt, der mit der Übertragung der Daten über tcp/ip vs. Named Pipes verbunden ist. Es gibt. Aber normalerweise würde ich sagen, dass die Entscheidung, welche Sie verwenden werden, mehr mit der Architektur Ihres Systems zu tun hat als die Sorge um den Overhead.

Wenn Sie Daten zwischen physischen Servern übertragen möchten, müssen Sie mit tcp/ip gehen; Named Pipes sind keine Option. Wenn Sie Daten zwischen Prozessen auf demselben Server übertragen, sind Named Pipes eindeutig die bessere Leistung.

Ein Grund, warum Sie mit tcp/ip unterwegs sein sollten, wenn Sie sich auf demselben physischen Server befinden, ist die Möglichkeit, dass Sie die Prozesse irgendwann auf physischen Servern unterbrechen.

Um Ihre Frage zu beantworten: Wenn Sie nicht viele Daten weitergeben und dies nicht häufig tun, werden Sie den tcp/ip Overhead wahrscheinlich nicht bemerken, wenn die beiden Endpunkte gleich sind physische Maschine.

HTH,
James