Bio: *In Deckung geh* Probleme beim Konfigurieren

Sup!

Das Quoting in meinem Forum http://bionic.dnsalias.org/forum/ funktioniert nicht... da ist irgendwas verkonfiguriert, weiterhin.
In irgendeinem Konfigurations-Hash scheinen ein paar Angaben zu fehlen.

Ich weiss, daß die Konfiguration, die anscheinend fehlt, in der fo_admin_default.xml steht, aber obwohl ich diverse Skripte mit Debugging-Code vollgestopft habe, konnte ich nicht beobachten, daß diese Konfigurationsdatei jemals eingelesen worden wäre.

Ist die Frage also: Wann sollte die fo_admin_default.xml eingelesen werden und wo muß man sie referenzieren, d.h., in welchen anderen Konfigurationsdateien wird sie erwähnt? Sie steht in der common.xml als Variable namens "adminDefault" drin, so wie das IMHO sein sollte, aber eingelesen wird sie anscheinend trotzdem nicht.

Und wofür ist die cgi/share/common.xml gut - es gibt doch schon die config/common.xml... Verwirrungsstrategie?

Gruesse,

Bio

  1. hi!

    Das Quoting in meinem Forum funktioniert nicht... da ist irgendwas
    verkonfiguriert, weiterhin.

    Stimmt. Das Problem hatte ich auch schon mal, aber das ist schon so
    lange her, dass ich nicht mehr ganz genau weiß, woran es lag. Auf
    jeden Fall scheint er eine Konfigurationsdatei nicht zu finden, wohl
    die fo_admin_default.xml. Schau mal, ob der Pfad auf diese Datei
    überall richtig gesetzt ist. Und schau auch mal ins Error-Logfile,
    was da drin steht.

    bye, Frank!

    1. Sup!

      Stimmt. Das Problem hatte ich auch schon mal, aber das ist schon so
      lange her, dass ich nicht mehr ganz genau weiß, woran es lag. Auf
      jeden Fall scheint er eine Konfigurationsdatei nicht zu finden, wohl
      die fo_admin_default.xml. Schau mal, ob der Pfad auf diese Datei
      überall richtig gesetzt ist. Und schau auch mal ins Error-Logfile,
      was da drin steht.

      Du meinst das Apache-Error-Log?

      Und... diese fo_admin_default.xml müsste also *jedes Mal* eingelesen werden, wenn man z.B. ein Posting liest?

      Gruesse,

      Bio

      1. Hallo Bio,

        Du meinst das Apache-Error-Log?

        Ja, meint er.

        Und... diese fo_admin_default.xml müsste also *jedes Mal*
        eingelesen werden, wenn man z.B. ein Posting liest?

        Natuerlich. Wie sollte das Script denn sonst an seine
        Konfiguration kommen?

        Gruesse,
         CK

        1. Sup!

          Hmmm... ich hatte gedacht, theoretisch könnte man doch das ganze Forum gleich einem Hash im Speicher halten die ganze Zeit, und damit das konsistent bleibt, wird dieser Hash von einem Skript, das als Dämon und endlos läuft, verwaltet... ausserdem hat das Ding einen Socket offen, an den sich die CGIs connecten und mitteilen, das was neues gepostet ist oder das sie das Forum darstellen sollen. Das zentrale Skript verarbeitet dann hübsch der Reihe nach die Anfragen und weil es immer läuft, braucht es nix zu parsen, und weil es alleine ist, braucht es keine Locks - nur beim Start oder SIG Alarm bastelt es den Hash wieder aus einer Datenbank zusammen und liest die Config neu... oder so ... habe ich mir heute ausgedacht beim Fahrradfahren, vielleicht ist das aber auch total scheisse und bringt nix ;-)

          Gruesse,

          Bio

          1. Hallo Bio,

            Hmmm... ich hatte gedacht, theoretisch könnte man doch das
            ganze Forum gleich einem Hash im Speicher halten die ganze
            Zeit,

            Dafuer ist Perl nicht geeignet. Perl schluckt und schluckt
            immer mehr Speicher, gibt ihn aber erst wieder frei, wenn der
            GC laeuft -- und der laeuft erst bei Script-Ende. Aber
            ansonsten:

            http://cvs.teamone.de/selfforum/

            [...] aus einer Datenbank zusammen [...]

            Datenbank? Bei hierarchischen Daten? Irgendwie beisst
            Hierarchie und Menge sich IMHO ein wenig.

            Gruesse,
             CK

            1. Sup!

              Nun, das Problem mit den hierarchischen Daten ist, daß man die trotzdem serialisieren bzw. plattklopfen muß, weil der Speicher flach ist.

              Und ob man jetzt einen XML-Datei parst, oder eine Datenbank "spidert", ist IMHO nur ein kosmetischer Unterschied - wenn Du die ganze Baumstruktur im XML wiedergibst, zahlst Du dafür mit erhöhtem Aufwand beim Speichern.

              1. Sup!

                Hmmmm... was macht Perl, wenn man forkt? Wenn es da wenigstens Garbage Collection machen würde, bevor es das Child startet, könnte man ja einfach jede halbe Stunde mal forken. Ausserdem hat Perl doch so eine billige Garbage-Collection - wenn man arg defensiv und mit Hinblick darauf programmiert, müsste man da doch was machen können, damit sie besser funktioniert.

                Gruesse,

                Bio

                1. Hallo Bio,

                  Hmmmm... was macht Perl, wenn man forkt?

                  Eine komplette Kopie des Prozesses. Mit anderen Worten: bringt nix.

                  Ausserdem hat Perl doch so eine billige Garbage-Collection - wenn man arg
                  defensiv und mit Hinblick darauf programmiert, müsste man da doch was machen
                  können, damit sie besser funktioniert.

                  Nein.
                  Der GC laeuft definitiv erst, wenn das Script beendet wird.

                  Gruesse,
                   CK

              2. Hoi,

                Nun, das Problem mit den hierarchischen Daten ist, daß man die trotzdem
                serialisieren bzw. plattklopfen muß, weil der Speicher flach ist.

                Unfug.

                $VAR1 = {
                  blahr => {
                    blub => {
                      x => [
                        'x',
                        'a',
                        'b'
                      ]
                    }
                  }
                };

                Was ist daran bitte flach?

                Und ob man jetzt einen XML-Datei parst, oder eine Datenbank "spidert", ist
                IMHO nur ein kosmetischer Unterschied

                Sicher laesst sich eine hierarchische Struktur in einem RDBMS darstellen. Aber
                dafuer gedacht ist es nicht. Und versuche mal, den kompletten Baum sortiert
                auszulesen...

                • wenn Du die ganze Baumstruktur im XML wiedergibst, zahlst Du dafür mit
                  erhöhtem Aufwand beim Speichern.

                Der weniger sein duerfte als der noch viel hoehere Aufwand beim Auslesen (pro
                Ebene eine Query).

                Gruesse,
                 CK

                1. Sup!

                  $VAR1 = {
                    blahr => {
                      blub => {
                        x => [
                          'x',
                          'a',
                          'b'
                        ]
                      }
                    }
                  };

                  Was ist daran bitte flach?

                  Flach daran ist, daß es in einem eindimensionalen Speicher steht, der von 0 bis n durchnummeriert ist, und in der bitteren Realität der Physik ein Haufen Struktur und Zeiger nebeneinander "flach" im RAM liegen.

                  Und ob man jetzt einen XML-Datei parst, oder eine Datenbank "spidert", ist
                  IMHO nur ein kosmetischer Unterschied

                  Sicher laesst sich eine hierarchische Struktur in einem RDBMS darstellen. Aber
                  dafuer gedacht ist es nicht. Und versuche mal, den kompletten Baum sortiert
                  auszulesen...

                  • wenn Du die ganze Baumstruktur im XML wiedergibst, zahlst Du dafür mit
                    erhöhtem Aufwand beim Speichern.

                  Der weniger sein duerfte als der noch viel hoehere Aufwand beim Auslesen (pro
                  Ebene eine Query).

                  Hmmm... schaun' mer mal ;-)

                  Gruesse,

                  Bio

                  1. Hoi Bio,

                    Flach daran ist, daß es in einem eindimensionalen Speicher steht, der von 0
                    bis n durchnummeriert ist, und in der bitteren Realität der Physik ein
                    Haufen Struktur und Zeiger nebeneinander "flach" im RAM liegen.

                    Deshalb schreibe ich ja auch meinen Code in Assembler und benutze kein Perl. Tss.

                    Gruesse,
                     CK

  2. Hallo!

    Vermutlich habe ich in der selben Zeit die Du brauchst ein(_das_) PERL-Forum zu installieren, ein eigenes PHP-Forum programmiert...

    :-O

    Grüße
    Andreas

    PS: *fg*

    1. Sup!

      Vermutlich habe ich in der selben Zeit die Du brauchst ein(_das_) PERL-Forum zu installieren, ein eigenes PHP-Forum programmiert...

      GRRRRR!!!!

      Das hier ist _DAS_ Perl Forum ;-)

      Und im Notfall habe ich auch schon darüber nachgedacht, kurz mal eben ein eigenes Forum zu schreiben... unglaublich schnell und so... aber das wäre dann doch wieder etwas Aufwand, und da habe ich im Moment keine Zeit für.

      Gruesse,

      Bio

      1. Hi!

        GRRRRR!!!!

        Das hier ist _DAS_ Perl Forum ;-)

        habe ich ja geschrieben!

        Und im Notfall habe ich auch schon darüber nachgedacht, kurz mal eben ein eigenes Forum zu schreiben... unglaublich schnell und so... aber das wäre dann doch wieder etwas Aufwand, und da habe ich im Moment keine Zeit für.

        anscheinend doch ;-)

        Grüße
        Andreas

  3. Sup!

    Also... das Problem war, daß das Skript keine Schreibrechte in dem Verzeichnis hatte, darum konnte es kein Lock machen. Also schnell Konfig-Dir schreibbar gemacht... aber dann... irgendwelche Probleme mit dem Parser... was also gemacht? RPMs deinstalliert, neueste Version von libxml2 gezogen, mit CPAN alle Module neu installiert - nix genützt ;-)

    Also weiter alle Skripten und XML::DOM und XML::Parser::Expat mit Debug-Code zugemüllt... und, nachdem ich die fo_admin_default.xml die ganze Zeit mit der fo_admin.xml verwechselt hatte (Ja danke nochmal für die total logischen, einleuchtenden, unterscheidbaren Namen ;-)) rausgefunden, daß der XML-Parser anscheinend NICHT findet, daß man mit <!-- (Zeilen) -->  jeden Scheiss in die XML-Datei schreiben kann, ohne daß sie nachher nicht mehr well-formed ist. Also den lustigen Kommentar von Thomas J.S. über ... die in diesem Fall wieder total hart zugeschlagene Spassguerilla aka. Wowbagger entfernt (wenn ich Thomas erwische... ;-)). Und ZACK - läuft!

    Hat mich ja nur... so ca. 4 Stunden gekostet. Doof, aber ich fühle mich ziemlich rulend, gerade, denn das Glück ist mit den Tüchtigen, und was lange währt, wird endlich gut!

    Ehmmm... mein tolles Forum ist http://bionic.dnsalis.org/forum/ - ihr dürft alle huldigen kommen und Sven beschimpfen, der mein Forum lahm findet, was überhaupt nur an meinem Upstream liegt und möglicherweise daran, daß ich kein mod_gzip habe, denke ich, und außerdem ist es jetzt auch etwas schneller, weil die Konfiguration jetzt stimmt, und deshalb, glaube ich, ein paar Timeouts vom fehlschlagenden Locking wegfallen. Im übrigen ist die Kiste, auf der das läuft, ein original IBM Personal Computer 300 PL, kompatibler geht's ja kaum, mit einer 350 MHz Intel Pentium (tm) 2 CPU, die ja wohl äußerst locker genug Daten für meine 16KByte Upstream bereitstellen können sollte und über jeden Zweifel erhaben ist.

    Gruesse,

    Bio

    Gruesse,

    Bio

    1. Hi!

      Hat mich ja nur... so ca. 4 Stunden gekostet. Doof, aber ich fühle mich ziemlich rulend, gerade, denn das Glück ist mit den Tüchtigen...

      Also ich empfehle dir http://www.amalesh.de/1steps2php/schritt01.php3

      Ich kanns, mir einfach nicht verkneifen, sorry ;-)

      Grüße
      Andreas

    2. Hi Ritter,

      erst mal meinen Glückwunsch.

      Sven beschimpfen, der mein Forum lahm findet, was überhaupt nur
      an meinem Upstream liegt und möglicherweise daran, daß ich kein
      mod_gzip habe,

      Die Kombination aus beidem ist natürlich schon ein echtes Problem.

      Wenn Du die Kiste bei Dir stehen hast, dann mach halt schnell mod_gzip
      drauf ... in Deinem Fall (mit stark eingeschränkter Bandbreite) kann
      es sich heftig lohnen (siehe unten).

      Andererseits kannst Du natürlich mal die CPU-Auslastung während der
      Zugriffe beobachten ("top" oder Ähnliches). Wenn Deine Kiste

      Kiste, auf der das läuft, ein original IBM Personal Computer
      300 PL, kompatibler geht's ja kaum, mit einer 350 MHz Intel
      Pentium (tm) 2 CPU,

      ständig alles Mögliche laden muß, insbesondere Perl und Skripte und
      CPAN-Module und XML-Konfigurationsdateien und diese parsen und das
      alles für jeden einzelnen Zugriff (auch lesende!) immer wieder, dann
      wird die Sache natürlich nicht wirklich schnell - Deine Analyse über
      das Im-Speicher-Halten von Informationen ist im Prinzip völlig richtig
      und fast genauso will Christian ja die nächste Version in C schreiben.

      die ja wohl äußerst locker genug Daten für meine 16KByte Upstream
      bereitstellen können sollte und über jeden Zweifel erhaben ist.

      16 KByte? Also mehrere Sekunden schon für eine mittelgroße HTML-Datei,
      selbst wenn nur ein einziger Besucher zugreift?

      Jetzt aber marsch und mod_gzip installiert!
         (http://www.schroepl.net/projekte/mod_gzip/)

      Die (link- und bilder-lastige) Forum-Hauptdatei wird um Faktor 10,
      normale Postings um Faktor 5 kleiner, würde ich schätzen.

      Viele Grüße
             Michael

    3. Hallo Bio,

      und, nachdem ich die fo_admin_default.xml die ganze Zeit mit der fo_admin.xml verwechselt hatte (Ja danke nochmal für die total logischen, einleuchtenden, unterscheidbaren Namen ;-))

      ist kein problem, gern geschehen ;-)

      daß man mit <!-- (Zeilen) -->  jeden Scheiss in die XML-Datei schreiben kann, ohne daß sie nachher nicht mehr well-formed ist.

      wieso? das sind ganz normale kommentare, die kann man ja immer wo hinschreiben ohne dass die datei dadurch non-well-formed werden würde. :-)

      also den lustigen Kommentar von Thomas J.S. [...](wenn ich Thomas erwische... ;-)).

      ahh... jetzt verstehe ich diesen argen stechen den ich gestern schon den ganzen abend im kopf, herz, nieren und was weiss ich noch wo überall hatte! ;-)

      grüße
      Thomas  0:-)

      1. Hallo Thomas,

        daß man mit <!-- (Zeilen) -->  jeden Scheiss in die XML-Datei schreiben
        kann, ohne daß sie nachher nicht mehr well-formed ist.

        wieso? das sind ganz normale kommentare, die kann man ja immer wo hinschreiben
        ohne dass die datei dadurch non-well-formed werden würde. :-)

        Aber ein Kommentar der Art

        <!--
          irgendwas      --
          noch irgendwas --
          nochwas        -->

        fuehrt dazu, dass eine XML-Datei 'not wellformed' ist :) Und so steht es leider
        im CVS drin.

        Gruesse,
         CK

        1. Hallo CK,

          Aber ein Kommentar der Art

          <!--
            irgendwas      --
            noch irgendwas --
            nochwas        -->

          fuehrt dazu, dass eine XML-Datei 'not wellformed' ist :) Und so steht es leider
          im CVS drin.

          stimmt, aber das ist definitiv nicht von mir so auskommentiert worden.

          und in der CSV steht was anderes als in der download-version, wo es richtig ist.
          <!--         <CallByUser>
                          <Email>someone@somewhere.net</Email>
                          <Name>Joe User</Name>
                          <IpAddress>123.456.789.0</IpAddress>
                   </CallByUser>-->

          mal jetzt davon abgesehen, dass in der downloadversion einfach dateien fehlen... komisch eigentlich.

          grüße
          thomas

  4. Sup!

    Es läuft, das Skript, aber zeigt die Threads nicht an - das Forum bleibt leer. Woran kann das wieder liegen? Soweit scheint alles richtig konfiguriert zu sein, und es benutzt ja auch keine anderen Funktionen als fo_view.pl, eigentlich...

    Wieder zu sehen ab morgen mittag auf http://bionic.dnsalias.org/forum/

    (Ich stell' den Rechner jetzt aus)

    Gruesse,

    Bio