Vinzenz Mai: performancesteigerung

Beitrag lesen

Hallo

es handelt sich um eine in php entwickelte reporting software. dabei sind fragebögen in tabellen gespeichert. jeder fragebogen ist ein eintrag (zeile) und besitzt ca. 70 felder (spalten).

das ist schon einmal ein Designfehler :-) Wundervoll flexibel, diese Datenbank, bei einem neuen Fragebogen mit 80 Fragen ist die Tabelle ohne Änderung nicht mehr zu gebrauchen.

über verschiedene filterungen können auswertungen vorgenommen werden.

hört sich eher nach Missbrauch einer DB als Tabellenkalkulation an.

das läuft soweit ganz gut, bis auf einen filter bei dem eine gesamtauswertung (also über alle fragebögen mit allen feldern) vorgenomen wird.

Solche Zusammenfassungen sind oftmals mit SQL-Anweisungen recht einfach zu handhaben. Da ich aber nicht weiß, was in den Spalten steht und was die Gesamtauswertung daraus macht, kann ich mir kein endgültiges Urteil darüber erlauben

dabei werden die abfragen in temporären tabellen "zwischengelagert"

das kommt mir ungeschickt vor. Sollte im Normalfall nicht notwendig sein.

und dann die werte in ein generiertes excel file geschrieben. zum generieren des excelfiles wird php-pear benutzt.

Wie aufwendig ist das, ich kenne das Skript nicht. Ich weiß nur, dass man beim Automatisieren von Excel z.B. aus Access heraus früher zuschauen konnte, wie die einzelnen Zellen ausgefüllt wurden :-)

bei diesem "gesamtfilter" kommt es zu starken zeiteinbussen. im günstigsten fall dauert es ca. 20min bis ein report fertig ist,

wie umfangreich ist ein solcher "Report"? Es gibt übrigens wunderbare Reportgeneratoren (manche brauchen auch eine halbe Ewigkeit).

wenn mehrere (ca. 4) user gleichzeitig ein report erstellen dauert es auch schonmal über eine std. bzw. es wird abgebrochen.
auf dem server läuft gleichzeitig ein cms für eine internetpräsenz (ca. 10000 hits/tag).

es ist unclever, die Maschine mit der Excel-Report-Erstellung auszulasten, wenn die Internetpräsenz von dieser Maschine abhängt.

  • würde ein hardwareupgrade ein performancebeginn für das reporting bringen?

wo ist der Flaschenhals? Was hast Du bisher herausgefunden? Ist die Prozessorlast bei 100% (wie z.B. bei der VBA-Automatisierung üblich) oder reicht der Speicher nicht? Oder ist der Flaschenhals wo ganz anders.

  • bringt es was das cms bzw. homepage auszulagern?

Möglich.

  • wo sehr ihr evt. schwachstellen

einige habe ich Dir aufgezeigt.

bzw. flaschenhälse bei o.g. umgebung?

wie wäre es, wenn Du die Flaschenhälse ermittelst? Schließlich hast Du Zugang zur Maschine, kannst Du die entsprechenden Werkzeuge nutzen. Mach das!

Wahrscheinlich wäre eine Neuprogrammierung der Software unter Berücksichtigung von effizienten Verfahren sinnvoll.

Freundliche Grüße

Vinzenz