Thread Objekt löschen
(25 answers)
Opened by Froschpopo at 2007-11-12 05:38
weaken hat den Vorteil, dass man sich als Nutzer einer Klasse nicht um das Aufräumen zu kümmern braucht. Das hat dann hoffentlich der Klassen-Autor an der richtigen Stelle eingebaut.
Zu mod_perl: es gibt eigentlich nicht viel zu renees Ausführungen hinzuzufügen. Ich rate ausdrücklich zu mod_perl, weil man damit am performantesten dynamische Webseiten ausliefern kann. Man muss aber auch gut tunen und darf keine groben Fehler machen. So werden Apache-Children mit mod_perl gerne 50-100MB groß. Wenn man dann die Standard-Apacheeinstellung der maximalen Child-Anzahl (AFAIR 200) nimmt, kann man bei Last leicht ins Swappen geraten und somit geht der ganze Performancevorteil verloren. Auch steigt der Speicherverbrauch eines Apache-Childs *immer*. Das kann mehrere Gründe haben: memory leaks in den beteiligten Programmen (apache, mod_perl, perl, libc), die erwähnten zirkulären Referenzen, ineffiziente malloc-Implementationen (Fragmentierung des freien Speichers), oder einfach die Tatsache, dass immer mehr Perl-Code in den Prozess reingeladen wird... Da hilft es, wenn man MaxRequestsPerChild geschickt setzt: nicht zu niedrig, aber auch nicht zu hoch. Eventuell hilft es auch, wenn man einige verwendete Perl-Module per PerlModul schon im Root-Apache lädt und dann hofft, dass die Unix-Semantik beim forken (nur geänderte Speicherseiten müssen dupliziert werden) beim Niedrighalten des Speicherverbrauchs hilft. |