Domino 9 und frühere Versionen > ND7: Administration & Userprobleme
Wie skaliert Domino 7 auf Multiprozessor-Systemen?
matze79:
Hallo,
unter SLES9 (Kernel 2.6.5) sehe ich per "ps ax" nur einen Linux-Prozess pro Domino-7-Programm. Unter SLES8 und Domino 6.x dagegen werden eine vielzahl angezeigt. Ich habe zu dem Thema auch schon eine Technote gefunden, die eigentliche sagt, dass alles O.K ist.
Domino on Linux uses multiple processes (essentially LWP - lightweight process) and manages each process as a virtual threads. So each process is actually a Domino thread. This is how Domino on Linux is supposed to work.
But if you aren't seeing this behavior what it could mean is that the Domino server is using NPTL (Native Posix Thread Library) as opposed to LinuxThreads. Newer versions of Linux will default to NPTL behavior if LD_ASSUME_KERNEL is not set to a kernel assumption based on 2.2.5 or 2.4.*
NPTL is not expected to be supported in 6.x code. It is currently being considered for 7.x.
Was ich nun nicht verstehe: Wie skaliert Domino auf mehrere CPUs? Der Server-Prozess, zum Beispiel, läuft dann doch nur noch auf einer CPU. Oder habe ich da ein Verständnissproblem mit der Prozesstruktur von Linux auf SMP-Systemen?
Viele Grüße
Matthias
m3:
Lotus Domino 7 server performance, Part 1
--- Zitat ---When Domino 6 was designed, the Linux (x86) kernels it had to support did not have sys-epoll capability. Therefore, Domino could not support a threadpool model like the other platforms use. This caused each NRPC user to spawn off a server thread. Each server thread then required a stack, which takes up 256K of memory. These stacks are allocated from the 2 GB of memory that the operating system gives Domino, thereby limiting the number of NRPC users Domino 6 can support to 3000. (Linux on zSeries implemented sys-epoll in Domino 6.5.)
With Domino 7, we take advantage of the sys-epoll feature in the new kernels (for example, SuSE SLES 8 and SLES 9), which allow Domino to use the same threadpool model as other platforms. This, along with the improvements in the NPTL Posix library contained in SLES 9, has greatly improved Domino’s scalability, allowing us to attain 15,000 R6Mail users -- a 400 percent improvement! (See figure 2.)
--- Ende Zitat ---
Lotus Domino 7 server performance, Part 2
--- Zitat ---Unlike NRPC on Domino 6.x, Domino Web Access on Linux does not require an HTTP thread and stack per user. The HTTP task itself is able to do the pooling, so the default of 40 HTTP threads can support several thousand users. This is true in both Domino 6.x and Domino 7, making percent CPU the limiting factor in the number of users that can be supported.
In Domino 7, we substantially reduced the amount of CPU required to support a user. Figure 2 shows this reduction in percent CPU and how it allows Domino 7 to gain around 50 percent more Domino Web Access users than Domino 6.x.
--- Ende Zitat ---
P.S.: Du könntest ja die Lotus Domino platform statistics benutzen, um Detailinfos zu den Prozessen zu bekommen.
sja:
Hallo,
habe das ähnliches Problem, das in
http://atnotes.de/index.php?topic=21563.0
auch besprochen wurde.
--- Zitat von: matze79 am 23.06.06 - 12:25:13 ---Unter SLES8 und Domino 6.x dagegen werden eine vielzahl angezeigt. Ich habe zu dem Thema auch schon eine Technote gefunden, die eigentliche sagt, dass alles O.K ist.
--- Ende Zitat ---
@matze79,
Es wäre sehr nett, wenn Du das Link zur diese Technote geben würdest.
Vielen Dank im voraus
Schoene Gruesse
Sofia
matze79:
Ein einzelner Dominoprozess skaliert laut Lotus nicht auf mehrere CPUs, da Domino nicht Multi-Threaded ist. Soll heißen, dass alle User einen "server" -Thread (aus Sicht des Betriebssytems) auf einer CPU nutzen. Nutz dieser Thread viel CPU wird dann z.B. für den "update"-Thread eine andere CPU genutzt.
Will man einen Task auf mehrere CPUs verteilen, muss man Partitioned-Server einsetzen.
Tim Lemmen:
Ich kann mich der Aussage von matze79 anschließen, habe aber aus praktischer Erfahrung (Solaris) einige Anmerkungen:
Der Mailrouter kann mehrere threads verwenden, von Agentmanager, Indexer, Replikator, Clusterreplikator, Compacter etc. können mehrere Instanzen gestartet werden, die durchaus die komplette Prozessorhardware (in meinem Fall problemlos 8 CPUs) nutzen. Wenn alle Prozesse fleißig schaffen sollten bei Speicher und Platten keine Engpässer produziert werden.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln