Sitze momentan vor einem großen Projekt und bin nun am durchdenken von allem und weiß bei folgendem nicht weiter. Entwickelt wird in Python unter Debian 6.0.
So sieht das ungefähr aus: ich werde 500-1000 Verbindungen dauerhaft per socket halten müssen. Es werden events empfangen, befehle geschickt und weitergeleitet und befehle empfangen. Also benötige ich generell 3 Threads pro Verbindung.
Nun komm ich auch schon zu meinem Problem:
sollte ich, bei einem so hohen Aufkommen:
a.) für jede Verbindung einen eigenen Prozess starten, ergo jedesmal ein Python-Skript starten oder
b.) einen Prozess starten und innerhalb dieses Prozesses alle Verbindungen mit Threads öffnen, so dass diese Threads wiederum 3 Threads öffnen (da wäre ich dann bei fast 1500-3000 Threads)
Wichtiger Punkt ist hierbei der Speicherbedarf. Ich bin mir nicht zu 100% sicher, denke aber, dass 500-1000 Prozesse mehr Speicher verbrauchen als ein Einziger, der alles in sich schließt.
Nun denn, ich würde gerne einmal eure Meinung hören.
So sieht das ungefähr aus: ich werde 500-1000 Verbindungen dauerhaft per socket halten müssen. Es werden events empfangen, befehle geschickt und weitergeleitet und befehle empfangen. Also benötige ich generell 3 Threads pro Verbindung.
Nun komm ich auch schon zu meinem Problem:
sollte ich, bei einem so hohen Aufkommen:
a.) für jede Verbindung einen eigenen Prozess starten, ergo jedesmal ein Python-Skript starten oder
b.) einen Prozess starten und innerhalb dieses Prozesses alle Verbindungen mit Threads öffnen, so dass diese Threads wiederum 3 Threads öffnen (da wäre ich dann bei fast 1500-3000 Threads)
Wichtiger Punkt ist hierbei der Speicherbedarf. Ich bin mir nicht zu 100% sicher, denke aber, dass 500-1000 Prozesse mehr Speicher verbrauchen als ein Einziger, der alles in sich schließt.
Nun denn, ich würde gerne einmal eure Meinung hören.