Guest BiBo1.) Kann man mpm_worker_module und mpm_prefork_module gleichzeitig nutzen?
Guest BiBo2.)
A. Bei mpm_prefork_module ist mir das Klar.. Wenn ich 30 Server habe, habe ich 30 Prozesse und dann jedes Skript/Modul 30 mal rumliegen. bzw. Apache::DBI hat dann 30 Verbindungen offen.
B. Wie sieht es bei worker aus? Kann ich da 5 Prozesse à 6 Threads haben? Wie oft liegt dann jedes Skript/Modul im Speicher rum + Wieviele Verbindungen sind dann von Apache::DBI offen?
Guest BiBo3.) Was kann man mir empfehlen ?
2011-02-14T09:10:59 torstenOhne weitere Angaben startet modperl unter worker-MPM zu Anfang 3 Interpreter und erweitert diese Zahl bei Bedarf auf bis zu 5. Du kannst das konfigurieren über PerlInterpMax und PerlInterpMinSpare, siehe hier.
Falls Du versucht sein solltest, PerlInterpScope auf handler zu setzen, lass es.
2011-02-14T09:10:59 torstenGuest BiBo3.) Was kann man mir empfehlen ?
prefork wenn irgend möglich
Gerade da Du Apache::DBI angesprochen hast. Dieses Modul wird oft so benutzt, dass die DB Verbindung in einem PerlChildInitHandler geöffnet werden. Nur gibt es diesen Handler einmal pro Prozess und nicht einmal pro Interpreter.
Guest bibo<IfModule mpm_prefork_module>
StartServers 30
MinSpareServers 30
MaxSpareServers 30
MaxClients 30
MaxRequestsPerChild 0
</IfModule>
Abgesehen von dem Wert 30. Macht es Sinn die 4 Werte auf dem selben Stand zu haben?
Meine Idee war, dass ich mir gedacht habe, dass ich von Anfang bis Ende immer 30 Prozesse offen habe und so die Skripte nur (pro Prozess) einmal interpretiert werden müssen und dann im Speicher liegen um so schneller für nachfolgende Aufrufe zu sein... Macht dieser Gedanke Sinn?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<VirtualHost ****:80>
KeepAlive Off
TimeOut 25
EnableMMAP On
EnableSendfile On
AddHandler perl-script .pl .cgi
[ServerName +Logs usw. ....]
<Directory /PFAD ZU SKRIPTEN/>
Options +ExecCGI -Indexes
AllowOverride All
<Files ~ (\.pl$)>
SetHandler perl-script
PerlHandler ModPerl::Registry
Options ExecCGI
allow from all
PerlSendHeader On
</Files>
</Directory>
PerlOptions +Parent
PerlRequire /......../startup.pm
PerlInterpStart 1
PerlInterpMax 1
PerlInterpMinSpare 1
PerlInterpMaxSpare 1
PerlInterpMaxRequests 2500
PerlInterpScope request
PerlModule ModPerl::Registry
PerlResponseHandler ModPerl::Registry->handler
PerlOptions +ParseHeaders
</VirtualHost>
2011-02-17T13:30:39 GwenDragonSieht korrekt aus.
Kannst ja mal einen Benchmark laufen lassen mit ab (ApacheBenchmark).