Beitrag von Claus S. (1671 Beiträge) am Dienstag, 30.November.2004, 18:51.
@CB: bp geht ab 5000 Sätzen in die Knie!?
Hallo Christoph,
kannst Du bitte meine Mail beantworten, die ich Dir gestern Vormittag diesbezüglich geschickt habe?
Es ist ja auch so, daß, wenn ich die Datensätze auf verschiedene Dateien komprimiere, so brechen diese Scripts häufig mittendrin ab ("Seite nicht gefunden") und das bei einer Leseoperation mit einer Abfrage.
Das kann es doch nicht sein, oder?
Eine Regelmässigkeit konnte ich schon seit geraumer Zeit feststellen:
Bis ca. 4000 Sätzen kein Problem, ab ca. 6000 - 6500 Sätzen keine Chance mehr.
Wäre nett, wenn Du mal hierzu Stellung beziehen könntest, denke, daß interessiert auch andere.
Danke und Gruss
Claus S.
Antworten
Beitrag von Pouraga (1396 Beiträge) am Dienstag, 30.November.2004, 19:40.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Nur mal zur wiederlegung der "generellen" behauptung, schau mal in die bib
da laufen db's mit an die 20000 einträge problemlos.
Es liegt immer daran was man mit den db's macht, gerade bei abfragen von nur einem Datensatz ist es fast egal wie gross die db ist. (doppel grösse bedeutet nur 1 Zugriff mehr)
Auf jeden fall sollte man bei so grossen db's sort= nicht nutzen.
Antworten
Beitrag von Claus S. (1671 Beiträge) am Dienstag, 30.November.2004, 20:10.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Hallo Pouraga,
lasse mich immer gerne eines besseren belehren ;-),
aber bedeutet das, daß bestimmte Anwendungen mit bp nicht möglich sind?
Besagte Anwendung ist ja nicht soweit aus der Welt, ich schreibe Statistiksätze weg, die ich dann nach verschiedenen Kriterien auswerten möchte, da muss ich doch mit sort arbeiten.
Wenn Du willst kann ich den Aufruf zuschicken.
Mitterweile arbeite ich an einer Lösung, wo ich die Daten in weitere 8 Statistikdateien (je Kriterium) "komprimiere", um diese dann ressourcenschonender auszuwerten. Aber das muss dann täglich aufgerufen werden, auch nicht das Wahre.
Gruss
Claus S.
Antworten
Beitrag von Pouraga (1396 Beiträge) am Dienstag, 30.November.2004, 21:26.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
>Besagte Anwendung ist ja nicht soweit aus der Welt, ich schreibe >Statistiksätze weg, die ich dann nach verschiedenen Kriterien auswerten >möchte, da muss ich doch mit sort arbeiten.
Nö, hört sich so an als ob es unnötig ist.
Das geheimniss ist die Abfrage, dort musst du die holen die du tatsächlich brauchst, und eben nicht sortieren und dann in der sortierung suchen.
Ich hatte schonmal nen code im forum gesehen der bestimmte Anzahl sachen zählte. In dem war das genau schlecht gemacht. (weiss aber nicht ob er von dir war)
Antworten
Beitrag von Claus S. (1671 Beiträge) am Dienstag, 30.November.2004, 21:59.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Sorry, aber diese Aussage zu treffen, ohne die Anwendung oder deren Anforderung zu kennen, ist überheblich. Oder wolltest Du einfach irgendwas schreiben?
Antworten
Beitrag von Pouraga (1396 Beiträge) am Dienstag, 30.November.2004, 22:53.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Ich habe auch nur gesagt das "es sich so anhört"
ich bin leider kein hellseher und ohne das du uns verräts wofür du genau meinst das sort zu benötigen, kann auch niemand ne altanative sagen.
Aber mit meiner schon jahrelanger erfahrung mit baseportal mase ich mir einfach mal an zu behaupten, das dein problem lösbar ist.
Aber das geht natürlich nur wenn du etwas mithilfst. ;)
Kannst ja mal die wichtigsten sachen hier posten. (oder wenn es zuviel ist mir direkt mailen)
Dann können dir tips geben werden.
Aber sei dir im klaren das wohl niemand hier bereit ist seiteweise Code zu lesen oder gar für dich zu programmieren.
Antworten
Beitrag von Pouraga (1396 Beiträge) am Dienstag, 30.November.2004, 23:05.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Ach ich habe mich schon selber drum gekümmert :)
http://forum.baseportal.de/baseportal/baseportal/forum&wcheck=1&Pos=10948
(hatte doch da so eine errinerung)
Da ist das sort= ebend ungünstig. Baue den code anders auf, hier mal ein Beispiel rein kopiert, was ein ähnliches problem lösst: (es werden die herkunftsorte von mitgliedern gezählt, und sortiert nach anzahl ausgegeben):
get "Id==*","members"; #!ohne sort=, db enthält das feld Ort
my %orte;
while (get_next("members")){
$orte{$Ort}++;
}
@sortorte = sort {$orte{$b} <=> $orte{$a}} (keys(%orte)); #sortieren nach anzahl
foreach(@sortorte) {
out convert_html($_)," (<b>$orte{$_}</b>)\n";
}
Antworten
Beitrag von Claus S. (1671 Beiträge) am Dienstag, 30.November.2004, 23:43.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Hallo Pouraga,
überraschende Geschwindigkeit,
bei mittlerweile über 8000 Sätzen eine runtime von ca. 1,5 sec.
Aber leider kommt bei jedem 2 - 3 Mal "Seite nicht gefunden".
Das ist nicht so gut. Hast Du eine Ahnung, was das sein könnte?
Gruss
Claus S.
Antworten
Beitrag von Claus S. (1671 Beiträge) am Dienstag, 30.November.2004, 23:16.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Danke für Dein Angebot,
klar sollst Du nichts für mich programmieren ;-)
habe ich auch nicht erwartet,
wollte nur von CB wissen, wann bp wie reagiert, um mich eben darauf einzustellen, leider keine Antwort.
Gruss
Claus S.
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 30.November.2004, 23:45.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Pouraga hat doch schon so prima drauf geantwortet ;-)
Antworten
Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 1.Dezember.2004, 00:06.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Ach, meldest Du Dich auch noch mal,
was meinst Du denn jetzt?
Sein Beispiel funktioniert rasend schnell, habe es doch ausprobiert und weiter unten schon geschrieben,
aber es funktioniert eben nur bei jedem zweiten Aufruf und das ist sch....
Momentan funzt es übrigens garnicht. :-(
Antworten
Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 1.Dezember.2004, 02:05.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Hallo Christoph,
nur noch mal so zum Nachdenken:
Habe jetzt die Auswertung mit Pouragas "superschnellem" Code ausgestattet und sie mit einer unterschiedlichen Anzahl von Datensätzen gefahren.
Das Ergebnis deutet m.E. immer mehr auf eine Sperre hin.
Datei mit ca. 8300 Sätzen
bei 20 Versuchen "Seite nicht gefunden" und das teilweise bereits nach einer halben Sekunde.
Datei mit 6680 Sätzen
1.34 / x / 2.12 / x / 2.03 / 2.07 / 1.32 / 1.37 / x / x / x / x / 1.38 sec
Datei mit 5431 Sätzen
1.57 / 1.77 / 1.74 / 1.21 / 1.10 / 0.97 / 1.21 / 1.10 sec
Erbitte Stellungnahme. Vielen dank für die Antwort auf meine Mail
Gruss
Claus
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 1.Dezember.2004, 16:29.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Es gibt eine Laufzeit & Speicherbegrenzung (gibt es bei allen Providern für Skripte), die sind bei baseportal sogar recht lax und es klingt danach, als ob der Speicher bei Dir zu knapp wird... Wie gross is denn so ein Datensatz (von denen Du 8000 holst)?
Antworten
Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 1.Dezember.2004, 18:03.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 2.Dezember.2004, 11:48.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Ja, das ist schon ne Menge: Mind. 8000 * 320 = 2,56 MB, das wird aber in einzelnen Variablen gespeichert, d.h. da geht noch einiges an interner Verwaltung drauf...
Die Frage ist: Gibst Du denn die 8000 Datensätze alle auf einmal auf einer einzigen Seite aus? Wenn nicht: Wie geschrieben, nur die holen, die auch gebraucht werden...
Antworten
Beitrag von Claus S. (1671 Beiträge) am Donnerstag, 2.Dezember.2004, 13:46.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 6.Dezember.2004, 22:18.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Ich habe mir die Seite angeschaut, da wurden mit
alle Datensätze geholt und dann über eine Variable einem Hash unterschiedlich zugeordnet. Mir war nicht klar, ob Du am Ende alles ausgeben willst/musst, deshalb meine Frage oben...
Wenn nicht, dann musst/solltest Du auch nicht alle Datensätze holen, sondern z.b. mit
get "Auswahl=Browser",....
oder
get "Auswahl=$auswahl",...
eben die Datensätze die Du wirklich brauchst und womöglich noch per "range" beschränken, z.b.
get "Auswahl=$auswahl range=0,500",...
Der Kleinkleckerkram bei ner Statistik (also z.b. Seiten die nur einmal aufgerufen wurden) interessiert ja eh nicht... Wenn doch kann man das auch über eine Blätterfunktion realisieren...
Ansonsten ist schon richtig: Statistiken & Logfiles auswerten, das betrifft meistens grosse Datenmengen und macht man nicht "on-the-fly" sondern 1mal pro Nacht, wenn der Rechner sonst nicht viel zu tun hat. Eine Browser-basierte Lösung is da aber auch nicht das Optimum, weil der Aufruf eben nach einiger Zeit/zu viel Speicherbedarf abbricht.
Warum mietest Du nicht einfach ein Paket mit Statistik, da kriegst Du die Auswertung gleich mit...? Oder brauchst Du noch was spezielleres?
Antworten
Beitrag von Tom Bröse (4 Beiträge) am Montag, 6.Dezember.2004, 23:08.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Hallo Christoph,
habe diesen Thread mit Interssse mitgelesen, da ich ein ähnliches Problem habe.
Du schreibst hier
--- Zitat ---
Eine Browser-basierte Lösung is da aber auch nicht das Optimum, weil der Aufruf eben nach einiger Zeit/zu viel Speicherbedarf abbricht.
--- Zitatende ---
Gibt es denn eine Möglichkeit, bp-Datenbanken "nicht-browser-basiert" auszuarbeiten? Wenn ja, wie, wenn nein, was sollen wir bp´ler, die grosse Datenmengen verarbeiten müssen, dann machen?
CU Tom
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 7.Dezember.2004, 01:22.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
a) auf einen eigenen Server ziehen (dort könnt ihr machen was ihr wollt)
b) eine Lizenz kaufen und auf einem eigenen Server installieren (s. a) )
c) einen besseren Algorithmus verwenden, d.h. meistens: Schon beim Schreiben überlegen wie man die Daten später wieder auslesen will... Kann man aber nur im Einzelfall beantworten...
Antworten
Beitrag von Claus S. (1671 Beiträge) am Dienstag, 7.Dezember.2004, 12:38.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Es ist immer wieder eine Freude, zu sehen, wie kompetent und hilfsbereit Du auf die Fragen Deiner User eingehst und wie geschickt Du ständig Antworten auf nicht gestellte Fragen beantwortest.
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 7.Dezember.2004, 13:22.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Wieso wir beide irgendwann immer wieder an diesen Punkt gelangen ;-)
Das war genauso gemeint wie es da steht und es beantwortet, meiner Meinung nach, die Fragen von Tom (zusammen mit dem was weiter oben im Thread von mir schon geschrieben wurde).
Ich kanns aber gerne nochmal ausformulieren:
Nein, es gibt bei den normalen Mietaccounts keine Möglichkeit, baseportal nicht-browser-basiert auszuführen, denn das würde bedeuten die Zeit/Speicherbegrenzungen zu umgehen, diese würden aber dann keinen Sinn mehr machen, weil dadurch ja eben verhindert wird, dass ein User den Server komplett in Beschlag nimmt.
Wenn man grosse Datenmengen durcharbeiten will, was viel Zeit kostet oder viel Speicher braucht, muss man sich:
a) einen eigenen Server mieten,
b) eine Lizenz kaufen und auf einem eigenen Server installieren (ein Mietpaket woanders wird nix helfen, denn auch dort gibt es -viel strengere- Begrenzungen) oder
c) Gedanken über einen Algorithmus machen, der die Daten z.b. beim Schreiben schon richtig anordnet, so dass man sich das Durcharbeiten später sparen kann. Dies muss man sich aber im Einzelfall anschauen, dazu gibt es keine Pauschallösung...
Hier, habe ich für Deinen Fall versucht Tips zu geben:
http://baseportal.de/baseportal/baseportal/forum&wcheck=1&Pos=10956.000015
Antworten
Beitrag von Claus S. (1671 Beiträge) am Dienstag, 7.Dezember.2004, 13:39.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Antworten
Beitrag von Claus S. (1671 Beiträge) am Freitag, 3.Dezember.2004, 15:04.
Re: @CB: bp geht ab 5000 Sätzen in die Knie!?
Antworten