Domino 9 und frühere Versionen > ND7: Administration & Userprobleme

Wie skaliert Domino 7 auf Multiprozessor-Systemen?

<< < (2/2)

Ralf_M_Petter:
Sorry was Matze schreibt ist nicht korrekt. Zumindest nicht für Domino 7. Der Server Prozess ist eben gerade Multithreaded. Das heisst jeder Benutzer kann auf einem anderen CPU ausgeführt werden. Früher war das unter Linux in der Form nicht möglich, weshalb Domino auf Linux auch nicht optimal skalieren konnte.

Grüße

Ralf

matze79:
@Ralf_M_Petter
Könntest du deine These bitte näher belegen? Du siehst auf deinem Linux doch auch nur eine Server-Thread, oder?


> Der Server Prozess ist eben gerade Multithreaded

"Multithreaded" heisst "a single thread per session" im Betriebssystem.

Wenn ich den nachfolgenden Artikel richtig lese, werden unter Domino >4 interne Worker-Threads genutzt, welche man nicht als Multithread bezeichnet. Nebenbei wird in dem Artikel auch die Erklärung für das Verhalten genannt.

Previous releases (R 4.x and earlier) of the Domino server supported a single thread per session model. This means for every user session established, a dedicated set of resources were allocated at the Domino application and supporting operating system level. As Domino supports more users in the form of session connections, the amount of resources tied up to support those additional users also increases, which in turn requires additional internal threads.
...
These worker threads are defined to service multiple client sessions via a limited number of threads that execute.
...
The worker thread model can be likened to the cashiers in a grocery store. There are far fewer cashiers than shoppers who need to use them. Shoppers queue up, as needed, to be serviced by a cashier. Sometimes all cashiers are busy; sometimes only a few are servicing customers. Like the number of worker threads, the number of cashiers is constant, regardless of workload. Depending on the number of customers and available cashier stations, more cashiers can be added to service increasing numbers of customers.


http://www-128.ibm.com/developerworks/lotus/library/ls-spin1/#N102BC

Ralf_M_Petter:
Leider Matze du vermsicht hier mehrere Sachen die nichts miteinander zu tun hat.

Hier noch einmal die Begriffserklärung

Prozess ist ein schwergewichtiger Programmablaufbereich im Operating System, der in der Prozessliste aufscheint. Das erstellen eines so eines Prozesses ist für das Betriebssystem sehr aufwendig. Prozesse sind normalerweise strikt voneinander getrennt und belegen eigene  Speicherbereiche usw.

Thread ist ein leichtgewichtiger Programmablaufbereich innerhalb eines Prozesses, der nicht in der Prozessliste aufscheint. Das erstellen eines Threads ist für das Betriebssystem verleichsweise nicht aufwendig. Threads teilen sich einige Ressourcen mit andern Threads im OS.

So bei nicht Linux System war es schon immer oder zumindest seit R5 so, dass es einen Server Prozess gegeben hat in dem mehrere Server Worker Threads ob dieses dann ein Thread per Session sind wie bis 5.0.3 auf der Iseries oder geshared Worker Threads wie jetzt ist unerheblich. Bei Linux war es aber so, da die Threadunterstützung in Kernel vor NPTL nicht besonders war statt Threads Prozesse erstellt wurden. Das heisst man hatte nicht einen Server Prozess sondern viele Server Prozesse mit jeweils einem Thread.

Da die Anzahl der maximalen Prozesse beschränkt ist, konnte Domino auf Linux auch nicht sehr gut skalieren. Da Domino ab 7.0 NPTL nutzt, ist diese Beschränkung aufgehoben. Das selbe gilt übrigens auch bei Java. Die meisten Java Anwendungen verwenden massiv Threads und das war früher auf Linux ein großes Problem.

Grüße

Ralf
 

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln