Sehr große Arrays
-
- Posts: 25
- Joined: 2003-07-14 17:47
- Location: Erde
Sehr große Arrays
Hallo,
habe folgendes Problem:
Innerhalb meiner Web-Anwendung sollen als Ergebnis Statusberichte als PDF-Datei ausgegeben werden. Die Programmierung erfolgt in PHP in Verbindung mit MySQL.
Um die entsprechenden Daten für die Ausgabe zu holen werden ziemlich große Arrays (mehrere tausend Zeilen) benötigt, die jeweils (pro Zeile) einen SQL-Zugriff machen.
Bis zu einer gewissen Größe (Datenmenge) funktioniert das auch sehr gut.
Ab einer bestimmten Datenmenge, bzw. SQL-Zugriffen, steigt der Server offensichtlich aus. Die Ausgabe der Berichte erfolgt erst nach der kompletten Bearbeitung der SQL's.
Meine Frage: Liegt es an einem vollen Cache, das die Daten irgendwann nicht mehr kommen? Wenn ja, wo (kann) muß ich den Cache leeren?
Die Script-Ausführungszeit habe ich schon auf 300 sec gesetzt.
Die Ausgabe von z.B. einem 60 Seiten langen Bericht funktioniert so.
Der Bericht, der nicht funktioniert wird etwa 180 Seiten umfassen.
Weiß da jemand was? :?:
Danke.
Gruß, Ecki
habe folgendes Problem:
Innerhalb meiner Web-Anwendung sollen als Ergebnis Statusberichte als PDF-Datei ausgegeben werden. Die Programmierung erfolgt in PHP in Verbindung mit MySQL.
Um die entsprechenden Daten für die Ausgabe zu holen werden ziemlich große Arrays (mehrere tausend Zeilen) benötigt, die jeweils (pro Zeile) einen SQL-Zugriff machen.
Bis zu einer gewissen Größe (Datenmenge) funktioniert das auch sehr gut.
Ab einer bestimmten Datenmenge, bzw. SQL-Zugriffen, steigt der Server offensichtlich aus. Die Ausgabe der Berichte erfolgt erst nach der kompletten Bearbeitung der SQL's.
Meine Frage: Liegt es an einem vollen Cache, das die Daten irgendwann nicht mehr kommen? Wenn ja, wo (kann) muß ich den Cache leeren?
Die Script-Ausführungszeit habe ich schon auf 300 sec gesetzt.
Die Ausgabe von z.B. einem 60 Seiten langen Bericht funktioniert so.
Der Bericht, der nicht funktioniert wird etwa 180 Seiten umfassen.
Weiß da jemand was? :?:
Danke.
Gruß, Ecki
-
- Posts: 1117
- Joined: 2002-09-27 00:54
- Location: Hannover
Re: Sehr große Arrays
Eine Programmiersprache und keine Skriptsprache verwenden?!
-
- Posts: 4
- Joined: 2003-06-20 14:48
- Location: CH 9435 Heerbrugg
Re: Sehr große Arrays
Rein prinzipiell gesehen dürfte ein array mit mehreren tausend Zeilen kein Problem in MySQL, soweit mir bekannt. Ob ein flushen des caches etwas bringt, wage ich sehr zu bezweifeln. Die empirische Sicht sagt mir, daß man in die Cache-Verwaltung nicht eingreifen sollte (bei allen DBMS), da dies mehr Probleme als Vorteile bringt. Aus meiner Erfahrung heraus würde ich sehr stark vermuten, daß dein System nicht über genügend RAM verfügt. Allerdings haben wir viel zu wenig Detailinformationen, um dies aus der Ferne beurteilen zu können. Ich vermute, daß dir die logs relativ wenig bis gar keine Informationen geben, da Du sie anderfalls hier gepostet hättest.
-
- Posts: 2138
- Joined: 2002-12-15 00:10
- Location: Bergheim
Re: Sehr große Arrays
Vielleicht solltest du da etwas optimieren... mehrere Tausend Querys klingt nicht wirklich gut. Die lassen sich sicher zusammenfassen, vielleicht nicht in einen, aber sicher in ein paar Dutzend...Ecki wrote:Hallo,
Um die entsprechenden Daten für die Ausgabe zu holen werden ziemlich große Arrays (mehrere tausend Zeilen) benötigt, die jeweils (pro Zeile) einen SQL-Zugriff machen.
-
- Userprojekt
- Posts: 729
- Joined: 2002-06-12 10:11
Re: Sehr große Arrays
Hi,
ich tippe mal, deine Planung und der Entwurf der Software fand nicht wirklich statt. Wenn man mehrere tausend Queries benötigt, dann hat man enorme Design-Probleme in seiner Software.
bye
arty
ich tippe mal, deine Planung und der Entwurf der Software fand nicht wirklich statt. Wenn man mehrere tausend Queries benötigt, dann hat man enorme Design-Probleme in seiner Software.
bye
arty
-
- Posts: 25
- Joined: 2003-07-14 17:47
- Location: Erde
Re: Sehr große Arrays
@arty
Was heißt hier:
Die Formulierung von Fragen, so dass man sie - ohne genaue Kenntnis des Sachverhaltes- versteht, ist kein Steckenpferd von mir, sondern der Versuch, vielleicht von jemand anderem einen guten Tipp in dieser Sache zu bekommen.
Danke für nichts.
Ecki
Was heißt hier:
Meinst du ich stell hier Fragen nur so auf doof?ich tippe mal, deine Planung und der Entwurf der Software fand nicht wirklich statt. Wenn man mehrere tausend Queries benötigt, dann hat man enorme Design-Probleme in seiner Software.
Die Formulierung von Fragen, so dass man sie - ohne genaue Kenntnis des Sachverhaltes- versteht, ist kein Steckenpferd von mir, sondern der Versuch, vielleicht von jemand anderem einen guten Tipp in dieser Sache zu bekommen.
Danke für nichts.
Ecki
-
- Userprojekt
- Posts: 729
- Joined: 2002-06-12 10:11
Re: Sehr große Arrays
Hallo Ecki,
wenn eine Software mehrere tausend Queries braucht, ist entweder das Datenbankdesign oder die porgrammierte Software schlecht. Oder die verwendeten Werkzeuge wie PHP und MySQL überfordert. So einfach ist das. Stell deinen Code doch mal online, dann kann man sich den mal ansehen.
bye
arty
wenn eine Software mehrere tausend Queries braucht, ist entweder das Datenbankdesign oder die porgrammierte Software schlecht. Oder die verwendeten Werkzeuge wie PHP und MySQL überfordert. So einfach ist das. Stell deinen Code doch mal online, dann kann man sich den mal ansehen.
bye
arty
-
- Posts: 2138
- Joined: 2002-12-15 00:10
- Location: Bergheim
Re: Sehr große Arrays
arty hat schon recht. Mit Konfigurationsmaßnahmen und ähnlichen wird man das Problem kaum lösen können. Eine guter PHP-Programmier rauft sich schon bei den ~30 Querys eines Woltlab Burning Board die Haare aus. Aber mehrere Tausend... Das ist einfach nicht die Dimension für die PHP und vielleicht auch MySQL gedacht ist. Da muss man schon an den Scripts arbeiten. Ansonsten poste doch mal die genaue Fehlermeldung... vielleicht sowas wie "MySQL Server has gone away"? Dann könnte man zumindest den Fehler auf MySQL oder PHP eingrenzen.
-
- Posts: 58
- Joined: 2002-05-02 12:02
- Location: Bodensee
Re: Sehr große Arrays
probier doch mal ob das php skript auf der shell durchläuft.
mfg Phil
mfg Phil