PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Große Attachments


MWolfrum
29.04.2004, 13:03
Hallo,

in unserem Forum sollen Videofiles von Vorlesungen als Attachments angeboten werden. Diese Videofiles haben im Schnitt eine Größe von ca. 35 MB. Bei Versuchen, ein solches Videofile hochzuladen, kam es, nachdem vB3 eine relativ lange Zeit für die Bearbeitung gebraucht hat, zu der Meldung "Ungültiger Beitrag". Da scheinbar das Problem daran lag, dass MySQL mit der Datenmenge der Attachments nicht klarkam, und vB3 wegen des aktivierten PHP Safe-Modes die Attachments nicht direkt auf die Server-HD speichern wollte, haben wir für das Forum nun einen eigenen virtuellen Server eingerichtet. Die Forumseinstellungen wurden entsprechend angepasst, v.a. die Speicherart für die Attachments.

Bei weiteren Versuchen ergab sich folgendes:
Anstelle der Meldung "Ungültiger Beitrag" kommt nun die HTTP Fehlermeldung 400. Die Dateien werden aber in dem Attachment-Verzeichnis auf der Server-HD angelegt. Es scheint, dass das Problem bei dem Eintragen in die vB3-Datenbank auftritt.

Hat jemand schon einmal in seinem Forum vergleichbar große Attachments verwendet, und könnte mir mit einem Tip weiterhelfen, wie ich mein Forum gnädig stimmen kann ?

Vielen Dank im voraus.

Mit freundlichen Grüßen.
Patrique Wolfrum

pogo
29.04.2004, 15:50
Folgende Einstellungen müssen entsprechend gesetzt sein:
PHP: in der php.ini
PHPs maximale Uploadgröße: upload_max_filesize = XM
Das X gibt die maximale Größe einer Datei ab, die hochgeladen werden kann.

PHPs maximale Post-Größe: post_max_size = XM

MySQL: in my.ini bzw. my.cnf
MySQLs maximale Paketgröße: set-variable = max_allowed_packet=XM

X z.B. auf 50.

Ist das so eingestellt?
Tritt das Problem nur bei großen Dateien auf oder bei jedem Upload?

MWolfrum
29.04.2004, 19:54
Hallo Pogo,

vielen Dank für die rasche Antwort.

Folgende Einstellungen müssen entsprechend gesetzt sein:
PHP: in der php.ini
PHPs maximale Uploadgröße: upload_max_filesize = XM
Das X gibt die maximale Größe einer Datei ab, die hochgeladen werden kann.

PHPs maximale Post-Größe: post_max_size = XM

MySQL: in my.ini bzw. my.cnf
MySQLs maximale Paketgröße: set-variable = max_allowed_packet=XM

X z.B. auf 50.

Ist das so eingestellt?
Tritt das Problem nur bei großen Dateien auf oder bei jedem Upload?

Die Einstellungen sind so gesetzt.

Ich habe mittlerweile das Problem gefunden: Es war die "memory_limit" Einstellung von PHP, welche auf 8 MB eingestellt war (noch von der SuSE Installation). Nachdem ich diesen Wert auf 64 MB hochgesetzt habe, funktioniert der Upload zwar sehr langsam (für 35 MB ca. 40 Minuten (Übertragung via DSL)), aber er funktioniert.

Kann die langsame Verarbeitung mit dem scheinbar niedrigen max_allowed_packet Wert (16776192), den mir "mysqladmin variables" anzeigt, obwohl der Wert in der my.cnf (/etc/my.cnf) auf 50M gesetzt ist, zusammenhängen ?
Gibt es ansonsten eine Möglichkeit, das Ganze zu beschleunigen ?

Vielen Dank im voraus.

Mit freundlichen Grüßen.
Patrique Wolfrum

pogo
29.04.2004, 20:49
Welche MySQL Version wird denn eingesetzt?
Wurde MySQL nach der Änderung neu gestartet?

Wenn der max_allowed_packet Wert tatsächlich 16 MB zurückgibt, würde ich erwarten, dass der Upload gar nicht funktioniert.

Aber mit DSL kann man auch nur ca. 16 kB/s hochladen. Das macht in 40 Minuten ca. 38 MB. Kommt also gut hin.

MWolfrum
29.04.2004, 21:26
Hallo pogo,

vielen Dank für die schnelle Antwort.

Welche MySQL Version wird denn eingesetzt?
Wurde MySQL nach der Änderung neu gestartet?

Wenn der max_allowed_packet Wert tatsächlich 16 MB zurückgibt, würde ich erwarten, dass der Upload gar nicht funktioniert.

Aber mit DSL kann man auch nur ca. 16 kB/s hochladen. Das macht in 40 Minuten ca. 38 MB. Kommt also gut hin.

Wir setzen die MySQL Version 3.23.55-Max-log ein (SuSE-Version, allerdings haben wir sie mit InnoDB-Unterstützung per SRPM gebaut). Der MySQL-Server wurde nach jeder Änderung mittels "rcmysql stop" und "rcmysql start" neugestartet.
Den Wert von 'max_allowed_packet' habe ich gerade nochmal überprüft, und er gibt ihn immer noch mit dem im vorigen Beitrag angebenen Wert aus. Die Zeile in der my.cnf lautet: set-variable = max_allowed_packet=50M

Zur meiner DSL-Abschätzung: Arrgghh. Im nachhinein ahnte ich doch, dass sich da irgendwo ein Fehler eingeschlichen hatte ;-(. Ich werde das morgen nochmal von meinem Unirechner aus probieren, wo ich über ein 100 MBit Netzwerk mit dem Server verbunden bin (wie der Assistent auch, der die Videofiles ins Forum stellen möchte).

Mit freundlichen Grüßen.
Patrique Wolfrum

MWolfrum
30.04.2004, 12:33
Hallo,

nach dem Test von meinem Unirechner aus kann ich sagen:

Das Uploaden auch von großen Attachments funktioniert jetzt tadellos.

Vielen Dank nochmals !!

Mit freundlichen Grüßen.
Patrique Wolfrum