Ist I / O Completion Ports (Windows) oder asynchrone E / A (AIO) wird die Leistung von Multi-Thread-Server verbessert große Anzahl von Anfragen umgehen?

StackOverflow https://stackoverflow.com/questions/2490473

Frage

ich verwenden möchte I / O Completion Ports für Windows und asynchrone E / A (AIO) für Solaris- und Linux-Versionen meiner Server-Anwendung. Der Anwendungsserver ist multithreaded und es kann viele gleichzeitige TCP-Verbindungen akzeptieren und viele Anfragen pro conenction verarbeiten kann. Sind diese Kriterien gut genug, um die neueste AIO zu verwenden ?. Gibt es eine Standardisierung mit denen ein Code kann auf allen Plattformen verwendet werden.

Danke, Naga

War es hilfreich?

Lösung

  

wird jede Anfrage bearbeitet werden, indem   seperate freistehende Gewinde.

Das ist nicht, wie I / O Completion Ports unter Windows arbeiten ... Sie ermöglichen es, eine sehr kleine Anzahl von Threads zu verwenden, um große Mengen an E / A-Verarbeitung.

Zum Beispiel hier: http: // www.lenholgate.com/blog/2005/10/the-64000-connection-question.html ich rede über 64.000 gleichzeitige aktive TCP-Verbindungen Umgang mit rund 4 Threads ...

Für Linux ich die Route zu nehmen erwarten ist zu verwenden libevent .

Für Cross-Plattform jemand ist sicher vorschlagen ASIO .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top