gmconsult
Goto Top

Max. Ramlast viel höher als am Testserver

Hallo,

ich habe einen lokalen LAMP-Server laufen für die Entwicklung und werte die max. Ramauslastung wie folgt aus:

<?
$ram_max_last = memory_get_peak_usage();
$ram_max_last = $ram_max_last / 1024 / 1024;
?>

Lokal erhalte ich die Ausgabe:

MAX. RAMAUSLASTUNG: 9.3805122375488 MB

Online bekommt ich: Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 391064 bytes)

Auf einem 2. Server hab ich 14,3 MB statt 9,4 MB das lass ich mir einreden. Iich meine ein Unterschied von 20-50% ist OK aber auf dem 1. Produktiv-Server differiert es ja um 300 - 1200 % :-o

Woran kann das liegen?

Content-Key: 230669

Url: https://administrator.de/contentid/230669

Printed on: April 20, 2024 at 00:04 o'clock

Member: falscher-sperrstatus
falscher-sperrstatus Feb 21, 2014 at 14:39:05 (UTC)
Goto Top
Mehr Nutzer? Aktuellere/Ältere Pakete? Produktivenutzung?
Member: gmconsult
gmconsult Feb 21, 2014 at 15:11:45 (UTC)
Goto Top
Problem-Server: PHP Version 5.3.27 ... > 128 MB

Test-Umgebung: PHP Version 5.3.3 ... 9 MB

2. Server auf dem es auch passt: PHP Version 5.2.17 ... 14 MB

Die genauen Pakete kann ich nicht benennen es sind alles Hosting-Pakete keine Root- oder VPS-Server...
Member: falscher-sperrstatus
falscher-sperrstatus Feb 21, 2014 at 15:27:04 (UTC)
Goto Top
Da hast du das Ding schon. Frag bei dem Hostingprovider nach einem stärkeren Paket.
Member: gmconsult
gmconsult Feb 21, 2014 at 16:20:23 (UTC)
Goto Top
Sag mal willst du mich veralbern?! Warum braucht Hoster A 14MB und Hoster B kommt mit 128 MB nicht zu rande?!

1) kann ich nicht mehr bekommen
2) kann ich nicht normal mehr brauchen wenn es woanders auf 32MB limitiert ist und läuft
Member: falscher-sperrstatus
falscher-sperrstatus Feb 21, 2014 at 16:50:43 (UTC)
Goto Top
Zitat von @gmconsult:

Sag mal willst du mich veralbern?! Warum braucht Hoster A 14MB und Hoster B kommt mit 128 MB nicht zu rande?!

1) kann ich nicht mehr bekommen
2) kann ich nicht normal mehr brauchen wenn es woanders auf 32MB limitiert ist und läuft

Warum sollte ich?

Warum das so geht und nicht anders müsste man analysieren. Wenn du das nicht packst musst du es eben an Profis weiter geben oder dir das Wissen aneignen oder generell einen anderen Tarif nehmen. Das ein 08/15 Tarif nicht das leistet, was ein Profi Tarif leistet sollte aber jedem klar sein. face-smile
Member: gmconsult
gmconsult Feb 21, 2014 at 17:38:22 (UTC)
Goto Top
Ich komm mir langsam echt veralbert vor!

Ich mach das hauptberuflich und programmiere an dem Ding seit 5 Jahren! Innsges. sind das 850.000 - 900.000 Zeilen Code. Bei 11 Servern rennt es 1A ohne Probleme und am 12. zickt was rum.

Ich such Denkanstöße um den Fehler zu finden denn mir fällt nichts mehr ein und ich hab schon einige hundert Zeilen Config-Files der Server miteinander verglichen... Ich bin Programmierer und eben kein Server-Admin und ich weiß leider nicht viel von Wechselwirkungen zwischen versch. PHP-/Apache-/Sonstwas-Konfigurationen im Bezug auf Memory-Leaks...

Es kann aber nicht sein, dass 11 Hosting-Pakete mit memory_limit = 32M bzw. memory_limit = 64M Problemlos laufen und ein anderer Server, der schon memory_limit = 128M eingestellt hat immer noch zu wenig RAM hat um das Script abzuarbeiten!

Und bevor nun jemand meint es werden zuviele Zeilen Code abgearbeitet - NEIN nicht alle 900k Zeilen laufen in dem Fall ab. Und das gleiche Script rennt auf 11 anderen Hostern mit 9-30 MB Ramauslastung je nach Aufruf und Server-Konfiguration...

Nur auf dem Problem-Server pendel ich zwischen 38 und > 128 MB!
Member: falscher-sperrstatus
falscher-sperrstatus Feb 21, 2014 at 17:42:16 (UTC)
Goto Top
Nicht jeder Server ist gleich. Anderer Hoster?

Ob du nun 850k oder 8,5M Zeilen Code geschrieben hast ist im Endeffekt total egal. Wenn es nicht läuft geht es nicht. Daher frag mal den Hoster an, vielleicht liegt das Problem wirklich an Ihm.
Member: gmconsult
gmconsult Feb 21, 2014 updated at 18:07:49 (UTC)
Goto Top
Tu mir bitte einen Gefallen! Antworte einfach nicht mehr auf meine Fragen!

Was glaubst du denn? Denkst du mir ist fad, dass ich hier was frage? Oder glaubst du ich hab das nicht schon längst gemacht? Wo bitte hab ich dann die erwähnten Config-Dateien her?! Wenn ich seichte Antworten ala 1st-Level-Support haben will würde ich wieder bei den Telefon-Support vom Hoster anrufen und mir die vorgefertigsten Antworten von Ihrem Frage-Antwort-Blatt vorlesen lassen!

War das letzte mal vor ca. 1,5 Jahren hier - damals gabs noch Leute hier mit Fachwissen... Scheinbar hat das Forum stark abgebaut face-sad

Hoffe es ist dennoch der ein oder andere Profi hier.
Member: BirdyB
BirdyB Feb 21, 2014 at 18:40:10 (UTC)
Goto Top
Greifst du mit deinem Skript auf irgendwelche Systemressourcen zu, die vllt in diesem speziellen Setup den Speicher volllaufen lassen?
Member: falscher-sperrstatus
falscher-sperrstatus Feb 21, 2014 at 18:50:03 (UTC)
Goto Top
Dann solltest du dir ggf. ein Forum suchen, bei dem die Leute genauso unfreundlich sind wie du. face-smile

Woher sollen wir denn wissen, woran es an deinem 0,850M Zeilen Programm hakt? Du bist doch der Programmierprofi (wobei es heisst, je professioneller der Programmierer, je weniger Codezeilen schreibt er). Meist lässt sich ein solcher auch nicht so schnell aus der Ruhe bringen.

Wenn dein Hoster kein Profi ist steht es dir frei einen anderen zu nehmen, die PM mit dem Angebot zur Hilfsweisen Analyse löschst du am besten auch direkt.
Member: gmconsult
gmconsult Feb 21, 2014 at 19:10:49 (UTC)
Goto Top
Definiere mal Systemressourcen... Woran genau denkst du? Bzw. gibt mir bitte ein Beispiel.
Member: gmconsult
gmconsult Feb 21, 2014 updated at 20:35:48 (UTC)
Goto Top
Habe die PHP-Extensions:

- eAccelerator
- suhosin
- memcache

deaktiviert und komm nun auf 14-20 MB...

Herzlichen Dank an alle, die geholfen haben!
Member: Frank
Frank Feb 23, 2014 updated at 01:02:59 (UTC)
Goto Top
Hallo,

sorry, ich habe es erst jetzt gelesen. Hier noch eine kleine persönliche Ergänzung:

Ich würde nicht alle Module gleich abschalten, jedes Modul hat seine Berechtigung.

eAccelerator beschleunigt PHP sehr stark und ist ein OP-Cache und Code-Optimierer (persönlich würde ich da eher zu APC greifen, aber wahrscheinlich kann man es sich beim Hoster nicht aussuchen) und kann auch als Cache für PHP Variablen benutzt werden. Es hat eine eigene Config-Datei, wo man den Cache-Speicher für die Variablen einstellen kann. Wahrscheinlich ist dieser zu hoch eingestellt.

Ähnlich funktioniert "memcache", dass auch einen PHP-Cache für Variablen, Array und Objekte abbildet. Oft wird "memcache" auch für das Session-Management von PHP eingesetzt (wie hier auf Administrator.de). Das beschleunigt PHP Aufrufe (in Masse) enorm. Memcache hat eine eigene Config, wo man den Cache-Speicher einstellen kann.

Das letzte Modul "suhosin" ist eine Sicherheits-Addon (oder ein Patch) für PHP um die Sicherheit deutlich zu erhöhen. Es hat eigentlich keinen Einfluss auf den Speicher und sollte von dir wieder aktiviert werden.

Schau Dir mal die Configs für "eAccelerator" und "memcache" bei dem "Problem-Hoster" an und evtl. findet du hier den genauen Fehler bei der Speicher Reservierung. Generell würde ich aber wegen der deutlich besseren Performance und Sicherheit nicht auf diese Module verzichten.

Ich hoffe das hilft Dir ein wenig weiter.

War das letzte mal vor ca. 1,5 Jahren hier - damals gabs noch Leute hier mit Fachwissen... Scheinbar hat das Forum stark abgebaut

certifiedit hat nur versucht zu helfen (zugegeben, nicht sehr geschickt). Er hat den Punkt leider nicht getroffen, aber Deine Reaktion darauf war nicht viel besser. Generell finde ich Deine Aussage "die Seite hätte stark abgebaut" anhand einer Erfahrung mit einem Users nicht wirklich gelungen. Es gibt hier viele User, certifiedit mit eingeschlossen, die sich viel Mühe geben, den Usern zu helfen. Sicherlich trifft man nicht immer ins Schwarze, jeder User hat so seine eigene Art, aber Alles gleich über einen Kamm zu scheren wäre etwas unfair. Abgebaut hat die Seite auf jeden Fall nicht.


Gruß
Frank
Member: gmconsult
gmconsult Feb 23, 2014 at 13:28:07 (UTC)
Goto Top
certifiedit hat nur versucht zu helfen (zugegeben, nicht sehr geschickt). Er hat den Punkt leider nicht getroffen, aber Deine
Reaktion darauf war nicht viel besser.

Naja was mich an certifiedit wahnsinnig machte ist, das man 3 mal die gleiche oberflächliche Antwort nacheinander Serviert bekommt und das kann ich pers. garnicht ab... Da hat er leider einen Nerf getroffen!

Generell finde ich Deine Aussage "die Seite hätte stark abgebaut" anhand
einer Erfahrung mit einem Users nicht wirklich gelungen. Es gibt hier viele User, certifiedit mit eingeschlossen, die sich viel
Mühe geben, den Usern zu helfen. Sicherlich trifft man nicht immer ins Schwarze, jeder User hat so seine eigene Art, aber
Alles gleich über einen Kamm zu scheren wäre etwas unfair. Abgebaut hat die Seite auf jeden Fall nicht.

Da hast du recht...

Danke für die Ergänzungen!
Member: BirdyB
BirdyB Feb 23, 2014 at 17:30:26 (UTC)
Goto Top
Ich glaube nicht, dass certifiedit planlos arbeitet, da ich selbst schon den einen oder anderen sehr wertvollen Tip von Ihm erhalten habe...
Wenn dir doch ein Kommentar zu einer Fragestellung nicht gefällt, dann ignorier es doch einfach und mach hier nicht so einen Aufstand...
Es kommt immer mal wieder vor, dass hier auch mal Blödsinn erzählt wird oder man einfach am total falschen Ende nach dem Fehler sucht...

Sei dankbar für das, was du hier kostenfrei bekommst und was du nicht haben willst kannst du getrost ignorieren... Macht deutlich weniger Ärger als diese Diskussion...

Was Ihr in euren PMs austauscht kann und will ich nicht beurteilen, das ist mir ehrlichgesagt auch Wurst. Ich würde mir nur weiterhin ein angenehmes Forenklima wünschen und dazu müssen hier alle beitragen...

Beste Grüße

Berthold
Member: Frank
Frank Feb 23, 2014 updated at 18:44:39 (UTC)
Goto Top
Hi,

So, ich beende das jetzt. Ihr könnt das gerne zwischen Euch per PM weiterdiskutieren. Alle Antworten die so gar nichts mit der Frage zu tun haben, wurden gelöscht. Die Frage ist nun geschlossen.

Gruß Frank