Ron: Webhosting / Arbeitsspeicher

Beitrag lesen

Hallo Allesamt,

Ich bräuchte mal einen Rat.

Ich beschreibe mal einfach mein Problem.

Ich habe einen neuen Kunden.
Dieser hat ein Webprojekt.
User können Bilder hochladen und die bedrucken dann ihre Produkte und verschicken diese.
Das ganze ist mit PHP/MySQL realisiert.

Probleme bereiten folgende Punkte.

  • Bilder-Upload: Es wird ein Thumbnail des Bildes erstellt.

  • AUftrag wird verzippt. D.h. Alle Bilder und ein Worddokument mit dem/n Auftrag/ägen werden in einen Ordner verzippt, der dann heruntergeladen werden kann.

Realisiert hat das ganze ein anderer, ich habe das Projekt nur übernommen und optisch ansprechend gestaltet, ohne an den PHP/MYSQL-Funktionen etwas zu verändern. Das ganze kam dann auf einen neuen Server, zu einem anderen Webhoster.

Das Produkt das die User bestellen können, wird natürlich um so besser je höher die Auflösung des Bildes und somit auch je höher die Dateigrösse.

Die User können Bilder bis zu 250 MB hochladen. Wobei die meisten doch 1 - 10 MB hochladen.

Probleme gibt es jetzt andauernd mit dem verzippen, oder mit dem Bestellvorgang selbst. Es scheint so, als gäbe es Probleme mit der Grösse des Arbeitsspeichers. Es taucht folgende Fehlermeldung auf.

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 36400388 bytes) in.....

So wie ich das verstehe, brauche ich doch um möglichst viele eventualitäten zu berücksichtigen einiges mehr an Arbeitsspeicher.

Wenn nun jemand 3 Bilder a 20 MB hochlädt und diese verzippt werden sollen, braucht er doch mind. 120 MB. d.h. Mit 60 MB werden die Bilder in den Arbeitsspeicher geladen und dann benötigt er nochmal die selbe Menge um das zu verzippen. Also 120 MB. Oder es laden 3 Leute zufällig gleichzeitig Bilder hoch, z.b. jeder 50 MB, und die GD-LIB macht von allen 3 gleichzeitig Thumbnails werden doch auch 150 MB Arbeitsspeicher gebraucht... Oder bin ich mit meinem Denken völlig auf dem falschen Dampfer?

Wir haben den Webspace gemietet und ich habe bzgl. des Arbeitsspeichers nachgefragt und folgende Antwort erhalten...

"Bei unseren Angeboten handelt es sich um sogenannte Shared-Hosting Angebote, d.h. es liegen mehrere Kunden-Accounts auf einem Server. Um bei Shared-Hosting Angeboten eine gute Performance der Server sicherstellen zu können, ist es notwendig, bei der Ausführung von Skripten gewisse Beschränkungen einzuführen. Nur auf diese Weise kann gewährleistet werden, dass einerseits Ihr Paket nicht durch andere Accounts beeinträchtigt wird und andererseits die Leistungsfähigkeit Ihres Pakets sichergestellt ist. Die eingestellten 32 MB sind schon großzügig bemessen. Branchenüblich sind 8 bis 16 MB!

Ich kann Ihnen als Lösung hier nur unsere VDS oder managed Server als Lösung anbieten. Dort können Sie über die Verwendung des Arbeitsspeichers innerhalb des zugewiesenen Kontingents frei verfügen. Details hierüber finden Sie auf unser Homepage: ....

Allerdings vermute ich hier eher ein schlecht programmiertes Script, da ein solcher Ressourcen Verbrauch unüblich ist."

Jetzt bin ich doch eher irritiert...
Stimmt das, das die meisten Webhosting-Angebote mit 8-16 MB Arbeitsspeicher arbeiten?

Ich wüsste auch nicht was man da anders Programmieren sollte.
Wenn man 250 MB Bilder hochladen kann, kommt man doch nicht drum herum viel Arbeitsspeicher zu haben, oder?

Komischerweise gab es in der Beziehung beim vorhergehenden Hoster keine Probleme. Da schien der Arbeitsspeicher ausreichend zu sein.
Obwohl das ein billiges Angebot war und der Server leider öfter nicht zu erreichen war, deshalb wurde auch gewechselt.

Würde mich freuen wenn mir jemand mal einen Rat geben könnte.
Der Kunde ist mittlerweile doch sehr verärgert, da es andauernd Probleme gibt.
Hoffe der viele Text hält nicht vom lesen ab...

Gruß Ron