Suchfunktion des Boards



  • Wobei ich persönlich die Aussage ziemlich lächerlich finde: Das abschätzen von Kosten/Zeit/Arbeit/Sonstigen Umständen ist nicht zwangsläufig etwas, was man im Studium oder dergleichen lernt. Ich kenne viele Leute, die trotz ihres Studiums die bescheuertsten Sprüche bezüglich solchen Sachen losgelassen haben, und mindestens so viele Schüler/Studenten, die in die Richtung wirklich realitätsnah und aus praktischer Erfahrung heraus argumentieren konnten!

    Auf ihn speziell will ich mal nicht eingehen, aber das auf das "Fachwissen" der Schüler umzuweltzen finde ich genau so sinvoll, wie die über-16-Spiele verbieten zu lassen, nur weil vor x Jahren mal ein Jugendlicher meinte, er müsse Amok laufen ...



  • Manchmal passen die Sachen aber halt auch zu gut zusammen.

    Ich kreide hier einfach nur die mangelhafte Problemanalyse an. Die gebrachten "Lösungsvorschläge" mit "Man muß eigentlich einfach nur..." sind ein Witz. Das zeigt doch nur, daß er sich mit der eigentlichen Problematik garnicht auseinandergesetzt hat.

    edit:
    Es wäre schön, wenn sich so mancher Schüler, bevor er davon ausgeht, es besser als alle anderen zu können, mal überlegen würde, ob es vielleicht außer der geistigen Unterlegenheit anderer weitere Probleme gibt, die eine Lösung erschweren. Aber das Maul sooooo weit aufzureißen ist natürlich auch spannend. 🙄
    Und gerade dieses Verhalten beobachte ich doch zumeist bei Schülern.

    Lösungsansätze für das Problem sind natürlich herzlich willkommen, aber bitte auf dem richtigen Niveau.



  • Jester schrieb:

    Lösungsansätze für das Problem sind natürlich herzlich willkommen, aber bitte auf dem richtigen Niveau.

    Wo ist mein Ansatz denn nicht auf dem richtigen Niveau? Stell ich mir das zu einfach vor? Kenne mich mit Datenbanken nicht besonders aus, aber kann doch nicht so schwer sein, da Teile rauszukopieren.



  • Jester schrieb:

    Ich kreide hier einfach nur die mangelhafte Problemanalyse an. Die gebrachten "Lösungsvorschläge" mit "Man muß eigentlich einfach nur..." sind ein Witz. Das zeigt doch nur, daß er sich mit der eigentlichen Problematik garnicht auseinandergesetzt hat.

    Also erstens würde ich gerne mal klarstellen, das ich euch nur helfen will und hier niemanden für mir unterlegen halte. Wenn das so rübergekommen sein sollte tut es mir leid. Trotzdem ist deine Agrumentation hinfällig, ich kannte das Problem bis vor kurzem nicht, ich habe euch mehrmals darum gebeten das Problem genauer und nicht pauschal in einem Satz zu erleutern. Ich kann mich mit dem Problem nicht auseinandersetzen wenn ich es nicht kenne.

    Jester schrieb:

    edit:
    Es wäre schön, wenn sich so mancher Schüler, bevor er davon ausgeht, es besser als alle anderen zu können, mal überlegen würde, ob es vielleicht außer der geistigen Unterlegenheit anderer weitere Probleme gibt, die eine Lösung erschweren. Aber das Maul sooooo weit aufzureißen ist natürlich auch spannend. 🙄
    Und gerade dieses Verhalten beobachte ich doch zumeist bei Schülern.

    Tut mir wirklich leid dir das sagen zu müssen, aber wenn es ums Maul aufreißen geht stehst du uns bestimmt in nichts nach. Es ist sehr schwierig die Stimmung von Text zu interpretieren, aber meiner Ansicht nach hast du mich immer wenn ich was geschrieben habe runtergemacht und mir gesagt, was nicht funktioniert. Das löst aber das Problem nicht. Ich versuche Ansätzte zur Problemlösung aufzuzeigen ohne genau das Problem zu kennen. Jetzt könnte man argumentieren, das ich mich erst mit dem Problem auseinandersetzen sollte, bevor ich euch mit meinen Ansätzen auf die Nerven falle. Das war aber wie oben erwähnt nicht möglich. Ich habe das Forum mit der Suchfunktion durchsucht und nur zwei Beiträge gefunden, die sich mit der Problematik der Suchfunktion nach dem Serverumzug beschäftigt haben. Einer ist dieser hier. Im anderen Thread werden ebenso wenig präzise Aussagen gemacht.

    Jester schrieb:

    Lösungsansätze für das Problem sind natürlich herzlich willkommen, aber bitte auf dem richtigen Niveau.

    Wie hoch soll das Niveau deiner Meinung nach den sein, soll ich ins Rechenzentrum einbrechen, dort meinen Code, den ich vorher allein Programmiert habe, auf den C++ Forum Rechner hochladen,sodass ihr am nächsten Tag aufwacht und sagt: "Geile Lösung, super Niveau"???

    Nur um das nochmal Klarzustellen, wir versuchen hier eine öffentliche Disskussion zu führen, um Lösungsansätze zu sammeln. Das wäre als Moderator eigentlich dein Job.



  • flammenvogel schrieb:

    Ich kann mich mit dem Problem nicht auseinandersetzen wenn ich es nicht kenne.

    Dann doch einfach, daß Du eine Problembeschreibung haben möchtest und fang nicht an wilde Thesen aufzustellen, wer keine Ahnung hat und wie einfach man das bestimmt alles richten könnte.

    Okay, fangen wir einfach nochmal frisch an. 🙂

    Das phpbb ist ein größeres Stück Software. Änderungen sind nicht so schnell mal einfach durchzuführen. Insbesondere eine Änderung der Datenbankstruktur ist nicht so ohne weiteres möglich, weil große Mengen an Daten bereits vorliegen.
    Schau Dir den phpbb-Code bei Gelegenheit mal an. Ich finde ihn sehr häßlich. Es gibt keine Modularisierung, alles ist in großen elend langen Funktionen einfach runtergeschrieben.

    Zur Problembeschreibung:
    Die Suchfunktion erzeugt während der Suche sehr große Zwischenergebnisse (temporäre Tabellen). Diese machen den Speicher dicht und die Suchanfrage wird nur noch sehr langsam abgearbeitet. Die Datenbank läßt nur eine feste Anzahl von parallelen Anfragen gleichzeitig zu. Die anderen Anfragen (und vielleicht noch zusätzliche Suchanfragen) werden stark verzögert und das Limit der gleichzeitig erlaubten Datenbankabfragen wird erreicht. Dann kriegt keiner mehr ne DB-Verbindung, das Forum ist tot.

    So ist der grobe Ablauf, soweit ich ihn verstanden habe.

    Leider ist der Fehler aber auch nicht wirklich beliebig reproduzierbar. Mal passiert es, mal nicht. Ich bin mir nichtmal sicher, ob eine bestimmte SQL-Abfrage als Auslöser indentifiziert werden konnte. Afair nicht.

    Am Rechner liegt es imho nicht. Meiner Meinung nach sollte der auf jeden Fall in der Lage sein die Suchanfragen zu verarbeiten.

    Ich sehe zwei Lösungsmöglichkeiten:

    1. Vollständige Neuimplementierung der Suchfunktion
      Dazu müßte man eine Datenstruktur erstellen, die in der Lage ist, Suchanfragen bei unserer Datenbankgröße zügig und ohne zu viel Overhead zu beantworten. Das Design von sowas ist durchaus ne komplizierte Sache.
      Außerdem müßte alte Daten entsprechend indiziert werden. Das ist zwar machbar, aber ebenfalls einiges an Aufwand. Zudem müßten dabei viele Teile des Boards angefaßt werden: Nicht nur die Suche, sondern auch das Eintragen der Postings in die entsprechenden Datenstrukturen.

    Dafür spricht, daß meines Wissens auch andere Boards Probleme mit der Suche des phpbb haben. Die Suche scheint einfach nicht richtig zu skalieren.

    1. Die kritischen SQL-Anfragen irgendwie abändern und so die Last von der DB nehmen.

    Das ist vom Aufwand her eigentlich deutlich weniger, allerdings nicht ganz einfach durchzuführen, weil zum einen afair nicht genau bekannt ist, woran es liegt und zudem sich die Frage stellt, wie umschreiben? Soweit ich mich erinnern kann haben auch ein paar Mods mit SQL-Erfahrung mal über die Statements geschaut.

    Nur um das nochmal Klarzustellen, wir versuchen hier eine öffentliche Disskussion zu führen, um Lösungsansätze zu sammeln. Das wäre als Moderator eigentlich dein Job.

    Sag mir nicht, was mein Job ist und wie ich ihn zu machen habe, ja?
    Die öffentliche Diskussion mit dem Aufruf "Gibt's hier auch mal nen Mod der Ahnung hat" ist wirklich was, was uns bei der Lösung weiterhilft. 😉



  • Jester schrieb:

    Okay, fangen wir einfach nochmal frisch an. 🙂

    Gute Idee, da kann ich mich nur anschließen ... 😉

    Jester schrieb:

    Zur Problembeschreibung:
    Die Suchfunktion erzeugt während der Suche sehr große Zwischenergebnisse (temporäre Tabellen). Diese machen den Speicher dicht und die Suchanfrage wird nur noch sehr langsam abgearbeitet. Die Datenbank läßt nur eine feste Anzahl von parallelen Anfragen gleichzeitig zu. Die anderen Anfragen (und vielleicht noch zusätzliche Suchanfragen) werden stark verzögert und das Limit der gleichzeitig erlaubten Datenbankabfragen wird erreicht. Dann kriegt keiner mehr ne DB-Verbindung, das Forum ist tot.

    Ok, das nenne ich mal eine ausführliche Problembeschreibung.

    Jester schrieb:

    Leider ist der Fehler aber auch nicht wirklich beliebig reproduzierbar. Mal passiert es, mal nicht. Ich bin mir nichtmal sicher, ob eine bestimmte SQL-Abfrage als Auslöser indentifiziert werden konnte. Afair nicht.

    Das möchte ich auch stark bezweifeln, das man das Problem durch das Umschreiben von ein paar Zeilen (MySql-)Code einfach lösen kann. Ich tippe stark darauf das die Datenbank, mehrmals durchsucht wird. Ich werde mir den phpBB Code nochmal anschauen. Mir ist allerdings nicht klar was du mit der nicht reproduzierbarkeit des Fehlers meinst.
    Könntest du mir das vielleicht noch etwas näher erleutern?

    Jester schrieb:

    1. Vollständige Neuimplementierung der Suchfunktion
      Dazu müßte man eine Datenstruktur erstellen, die in der Lage ist, Suchanfragen bei unserer Datenbankgröße zügig und ohne zu viel Overhead zu beantworten. Das Design von sowas ist durchaus ne komplizierte Sache.
      Außerdem müßte alte Daten entsprechend indiziert werden. Das ist zwar machbar, aber ebenfalls einiges an Aufwand. Zudem müßten dabei viele Teile des Boards angefaßt werden: Nicht nur die Suche, sondern auch das Eintragen der Postings in die entsprechenden Datenstrukturen.

    Das ist natürlich die radikale Lösung, aber eventuell immer noch vertretbar, wenn der phpBB Code von Grund auf nicht dafür geeignet ist mit derart großen Datenmassen umzugehen.

    Also nach allem was du gesagt hast Tippe ich auf einen starken Konstruktions/Prinzipfehler bei der Suche bei phpBB. Nachdem wie du oben das Problem geschildert hast liegt eins der Probleme im immensen Ram-Verbrauch der phpBB Suchfunktion. Ergo würde ein veringern der SQL-Anfragen, das Problem wahrscheinlich lösen. Oder sehe ich da was falsch?

    Jester schrieb:

    Nur um das nochmal Klarzustellen, wir versuchen hier eine öffentliche Disskussion zu führen, um Lösungsansätze zu sammeln. Das wäre als Moderator eigentlich dein Job.

    Sag mir nicht, was mein Job ist und wie ich ihn zu machen habe, ja?
    Die öffentliche Diskussion mit dem Aufruf "Gibt's hier auch mal nen Mod der Ahnung hat" ist wirklich was, was uns bei der Lösung weiterhilft. 😉

    Das hätte ich vielleicht auch nicht sagen sollen. Srry. Ich war ... naja sagen wir etwas "aufgebracht" 😉



  • Jester schrieb:

    Zudem müßten dabei viele Teile des Boards angefaßt werden: Nicht nur die Suche, sondern auch das Eintragen der Postings in die entsprechenden Datenstrukturen.

    werde ich ignoriert? Man kann es doch völlig unabhängig vom Board machen. Der einzige Nachteil ist, dass die Daten dann doppelt rumliegen würden. Soweit ich weiß gehts hier aber nicht um dermaßen riesige Datenmengen, dass das nicht akzeptierbar wäre. Oder ist die Festplatte schon halb voll?



  • @DrGreenthumb: Warum sollen die Daten doppelt rumliegen? Also warum erfordert die neu Implementierung einer Suche, einen doppelten Datenbestand?



  • DrGreenthumb schrieb:

    werde ich ignoriert? Man kann es doch völlig unabhängig vom Board machen. Der einzige Nachteil ist, dass die Daten dann doppelt rumliegen würden.?

    Richtig schön ist das aber auch nicht. Und selbst wenn die doppelte Datenhaltung in Frage kommt: Wie werden die neuen Datenstrukturen aktualisiert? Doch beim Eintragen der Postings. Also muß das Board eben doch angefaßt werden.

    @Reproduzierbarkeit:
    Damit meine ich: Wir können den Fehler nicht selbst auslösen und damit gezielt nach der genauen Ursache suchen. Manchmal funktioniert es, manchmal nicht. Wenn wir den Fehler nach belieben auslösen könnten, dann könnten wir auch gut testen, welche Veränderungen was bringen und welche nicht. Leider kennen wir keine Möglichkeit dafür. 😞
    Wir können die Suche nur aktivieren und dann warten ob das Board irgendwann abschmiert.

    Ich hab auch ne Idee, woran es liegen könnte. Der Code ist allerdings extrem häßlich zu lesen, außerdem habe ich keine geeignete Testumgebung um Änderungen durchzuführen und zu testen.

    Bist Du halbwegs fit mit php? Wenn Du Lust hast können wir uns ja mal im IRC treffen und mal ne Runde diskutieren. Vielleicht kommt ja was dabei raus.

    MfG Jester



  • @Jester: Also ich habe mir den phpBB Code mal angesehen und ich stimme dir zu das er ziemlich hässlich ist. Wenn du keine Testumgebung hast, ich habe noch ein Vserver im Inet stehen auf dem ich morgen mal phpBB + Datenbank installieren und einrichten werde. Ich wollte mich schon immer etwas näher mit phpBB auseinandersetzen.

    @DrGreenthumb: Was hälst du denn von meiner Lösung eine neue DB zu machen in der Indizierungstabllen liegen auf die das Suchsystem Lese + Schreibrechte hat und auf die phpBB Tabellen nur Leserechte. Damit sollte man eine halbwegs vernünftige Trennung Suche <-> Board hinkriegen. Vorausgesetzt das man das Suchsystem mit der vorhanden Tabellenstruktur überhaupt weit genug optimieren kann, dass die Suche wieder vernünftig läuft.

    Bist Du halbwegs fit mit php? Wenn Du Lust hast können wir uns ja mal im IRC treffen und mal ne Runde diskutieren. Vielleicht kommt ja was dabei raus.

    Bezieht sich das auf Dr. Greenthumb oder auf mich? *nicht sicher bin*



  • Jester schrieb:

    DrGreenthumb schrieb:

    werde ich ignoriert? Man kann es doch völlig unabhängig vom Board machen. Der einzige Nachteil ist, dass die Daten dann doppelt rumliegen würden.?

    Richtig schön ist das aber auch nicht. Und selbst wenn die doppelte Datenhaltung in Frage kommt: Wie werden die neuen Datenstrukturen aktualisiert? Doch beim Eintragen der Postings. Also muß das Board eben doch angefaßt werden.

    nein, habe doch geschrieben, alle paar Tage (oder sogar täglich) per cronjob. Ist dann halt nicht genau aktuell, aber macht ja nichts. Besser als jetzt.

    Richtig schön ist das sicherlich nicht. Aber es wäre eine einfache(?) Möglichkeit, die vor allem irgendjemand programmieren könnte. Zum Ändern der Forumsoftware, wie ihr es vorschlagt, kommen ja offenbar nur 2 oder 3 Leute (die keine Zeit haben) in Frage. Diskussionen in die Richtung, gabs ja nun genug, ohne das was bei rauskommt.



  • flammenvogel schrieb:

    Bist Du halbwegs fit mit php? Wenn Du Lust hast können wir uns ja mal im IRC treffen und mal ne Runde diskutieren. Vielleicht kommt ja was dabei raus.

    Bezieht sich das auf Dr. Greenthumb oder auf mich? *nicht sicher bin*

    Ich meinte eigentlich Dich. Ich will aber natürlich Dr. Greenthumb und auch andere nicht ausschließen. 😉
    Schreib mir doch mal ne Mail, wann Du mal Zeit hast.

    Ich würde gerne zuerst versuchen das phpbb zu fixen. Mir sind da ein paar Kleinigkeiten aufgefallen. Ich muß es mir aber zunächst nochmal durchschaun.



  • DrGreenthumb schrieb:

    Oder ist die Festplatte schon halb voll?

    Nein.



  • Ihr meint, dass phpBB das mit der Suche nicht hinkriegt. Aber ich würde mal sagen wer Windows XP ohne Service Packs installiert und sich dann beschwert warum es dauernt abstürzt muss sich nicht wundern: Natürlich werden Bugs gefixt! Und an dem Copyright seh ich, dass dies anscheinend nicht die neuste Version von phpBB ist. Und wenn man auf folgende Seite geht:
    http://www.phpbb.com/phpBB/
    Kann man sehr schön sehen, dass phpBB suchen kann! (Es scheint zu gehen, berichtet mich wenn die Suche dort auch kacke ist.) Ich schlage mal vor, dass man eine neue Version installiert.

    So wer jetzt sagt: Ja, dieses Forum ist auch viel größer, der rechnet mal die Anzahl der Beiträge zusammen und merkt, dass das phpBB Forum ungefährt doppelt so viele hat.

    mfg.



  • ne neue version davon zu installieren ist mit extrem viel aufwand verbunden. man muss alle mods wieder einfrickeln. 🙄



  • joomoo schrieb:

    So wer jetzt sagt: Ja, dieses Forum ist auch viel größer, der rechnet mal die Anzahl der Beiträge zusammen und merkt, dass das phpBB Forum ungefährt doppelt so viele hat.

    Bist ja ein richtiges Wunderkind! Mal ehrlich: Wenn es mit einem 2-minütigen Update der Forensoftware getan wäre, glaubst du nicht, dass hätte jemand gemacht? Zumal schon einiges an Zeit in die Suche investiert wurde.



  • Das wurde auch, soweit ich weiß alles schon versucht. Es hat nur nix gebracht. Das Forum auf www.gentoo.org hat übrigens auch Probleme mit der Suche des phpbb und afaik haben die auch noch keine wirklich passable Lösung gefunden.

    Wenn ich auf dem Board bei phpbb.com nach "search problems" suche, dann krieg ich ne leere komplett weiße Seite. So gut funktioniert das dort. 👍



  • Jetzt wo ihr soviele Werbe-Einblendung habt könntet ihr euch ja mal eine vernünftige Foren-Software kaufen.



  • @joomoo
    Zudem sei angemerkt, das es sich hierbei, denke ich, durchaus um ein aktuelles phpBB handelt! Man kann phpBB nähmlich auch manuell updaten, man muss nicht immer das Vanilla neu installieren! Allerdings hat das phpBB-Team in letzter Zeit einige Dinge in phpBB eingebaut, die mehr schlecht als Recht sind. Wenn hier nur das Sicherheitstechnische eingebaut wird, dann wundere dich nicht über Abweichungen vom Vanilla!

    EDIT:
    @.............
    Zum Beispiel? vBulletin? Oder WBB? Das ich nicht lache ...



  • Es gibt noch kein Gutes? Dann muss ich mal eins proggen. 😉


Anmelden zum Antworten