Tom: Gewindigkeit ist keine Hexerei

Hello,

wie kann es eigentlich sein, dass PHP in der Lage ist, auf einem ganz einfachen PC, mit Athlon500-Prozessor und 128MB SDRAM, Linux und einer einfachen IDE-Festplatte mit 8GB

1500 Dateinamen aus einem Verzeichnis auszulesen, diese zu öffnen und mit selbstgeschrieben Funktionen auf der Basis von strtolower(), strpos(), usw... (also nicht RegExp) zu parsen um die darin befindlichen Adressen herauszufinden, und das innerhalb von weniger als einer Sekunde?

Nur die Ausgabe des Ergebnisses an den Browser dauerte dann etwas länger. Das CSV-File war aber schon innerhalb einer Sekunde verfügbar.

Mich würde nun interessieren, ob das auf Windows auch so flott läuft.

Wenn Flatfiles soooo schnell verarbeiet werden, dann muss man sich für CMSse wirklich überlegen, ob man überhaupt ein DBMS braucht.

Wieviele Bytes gehen denn bei Linux üblicherweise für eine Datei verloren (mindestens) und wieviele kann ich in einem Verzeichnis anlegen und wieviele insgesamt auf der Platte (wenn sie groß genug ist). Wann sind die iNodes verbraucht?

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
  1. Hello,

    ... es handelt sich um HTML-Dateien mit ca. 8kB.
    Jede enthält eine Adresse und diverse andere optionale Daten.
    nur so zur Info wegen des Aufwandes beim Parsen.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. tag
      bist Du Dir ganz sicher, dass das script wirklich all das macht, was Du willst?!
      andererseits sind 12mb wirklich nicht die welt.
      und was hat Deine gesamte größe der festplatte damit zu tun?

      dass das unter win auch geht, wag ich zu bezweifeln.

      cu

      1. Hello,

        bist Du Dir ganz sicher, dass das script wirklich all das macht, was Du willst?!

        Ja, bin ich. Die aus den 1500 HTML-Files erzeugte CSV-Datei ist vollkommen nach meinen Wünschen. 1500 säuberlichst ausgefüllte Datensätze.

        andererseits sind 12mb wirklich nicht die welt.

        Nee. In einem Stück wirklich nicht. Aber wie geht das an, dass es auch in 1500 Einzelteilen so schnell geht?

        und was hat Deine gesamte größe der festplatte damit zu tun?

        Die hat hiermit ggf. nur zu tun, dass Platten mit höherer Schreibdichte auch einen größeren Datendurchsatz schaffen. Mit der anderen Frage hat sie zu tun, dass die Kapazität für z.B. 300.000 Einzeldateien eben ausreichen muss, wenn man denn auf ein DBMS verzichtet und die Datensätze einzeln anlegt.

        dass das unter win auch geht, wag ich zu bezweifeln.

        Ich auch. Leider habe ich das WAMPP runterschmeißen müssen von dieser Gurke hier. Es wird langsam eng. Ich müsste die alte Platte mal migrieren auf eine neue größere. Abr dafür hab ich noch kein vernünftiges Programm gefunden. Ich will ja nicht alles neu installiern müssen. Da sitze ich Tage.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Hallo,

          Ich müsste die alte Platte mal migrieren auf eine neue größere. Abr dafür hab ich noch kein vernünftiges Programm gefunden. Ich will ja nicht alles neu installiern müssen. Da sitze ich Tage.

          'dd' ist dein Freund.
          man dd

          cu,
          ziegenmelker

          1. Hello,

            Ich müsste die alte Platte mal migrieren auf eine neue größere. Abr dafür hab ich noch kein vernünftiges Programm gefunden. Ich will ja nicht alles neu installiern müssen. Da sitze ich Tage.

            'dd' ist dein Freund.
            man dd

            Der Arbeitsplatz ist dummerweise aber eine WinDOSe 98SE. Da kommt auch so schnell nix anders drauf. Dieses Gehampel mit dem XP in der Agentur will ich hier in meinem Büro nicht haben.

            Harzliche Grüße aus http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. Hallo,

              Der Arbeitsplatz ist dummerweise aber eine WinDOSe 98SE. Da kommt auch so schnell nix anders drauf. Dieses Gehampel mit dem XP in der Agentur will ich hier in meinem Büro nicht haben.

              du sprachst doch oben von Linux.
              Baue die neue Platte in den Rechner (z.B. als hdb) und mache sowas wie dd if=/dev/hda of=/dev/hdb
              Das kopiert sektorweise die alte auf die neue Platte, wahlweise geht das natürlich auch mit nur einer Partition, oder einer Anzahl von Sektoren. Den Rest der neuen Platte kannst du dann noch partitionieren und dorthin Teile deiner Installation 'auslagern' (Link setzen). Wahlweise kannst du auch mit kparted die Partition vergrößern.
              Möglicherweise kannst du auch die alte Partition direkt in eine (formatierte) neue hineindumpen:
              dd if=/dev/hda1 of=/dev/hdb1
              Hierbei wird ja die Partitionstabelle nicht überschrieben.

              Wenn du das alles unter Win machen willst, dann bietet sich das Booten mit Knoppix-CD an.
              Wenn du eh die c't liest, dann solltest du davon ja schon mehr als eine haben ;)

              cu,
              ziegenmelker

              p.s. 'dd' ist auch sehr zu empfehlen, um den MBR zu sichern.

              1. Hello,

                du sprachst doch oben von Linux.

                Linux auf dem Arbeitspferd und WinDOSe auf dem Spielzeug-Ding. Mit irgendwas muss man sich doch die Zeit vertreiben ;-)

                So richtig habe ich das Migrieren von einer Windows-Platte auf eine größere bisher nicht hinbekommen. Irgendwas kracht immer.

                Harzliche Grüße aus http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau
                1. Hallo,

                  Linux auf dem Arbeitspferd und WinDOSe auf dem Spielzeug-Ding. Mit irgendwas muss man sich doch die Zeit vertreiben ;-)

                  hehe, woher kenn ich das nur. *bg*

                  So richtig habe ich das Migrieren von einer Windows-Platte auf eine größere bisher nicht hinbekommen. Irgendwas kracht immer.

                  Wie schon beschrieben, es ist wirklich ein _Kinderspiel_!
                  Einschränkungen kannst du eher vom BIOS im Zusammenhang mit zu großen Platten bekommen.

                  cu,
                  ziegenmelker

        2. Moin.

          Nee. In einem Stück wirklich nicht. Aber wie geht das an, dass es auch in 1500 Einzelteilen so schnell geht?

          Bist Du sicher, daß die Dateien nicht schon im Cache (Platte oder OS) liegen?

          Ich müsste die alte Platte mal migrieren auf eine neue größere. Abr dafür hab ich noch kein vernünftiges Programm gefunden. Ich will ja nicht alles neu installiern müssen. Da sitze ich Tage.

          Zum einfachen "Klonen" mit anpassen der Partitionsgröße habe ich Acronis' True Image benutzt. Auf der c't-Software-Kollektion 6/2004 in c't 24/04 findest Du die Personal Edition 7.0.

          Gruß Frank

          1. Hello,

            Zum einfachen "Klonen" mit anpassen der Partitionsgröße habe ich Acronis' True Image benutzt. Auf der c't-Software-Kollektion 6/2004 in c't 24/04 findest Du die Personal Edition 7.0.

            Danke, das merk ich mir.

            Harzliche Grüße aus http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
          2. Hello,

            Nee. In einem Stück wirklich nicht. Aber wie geht das an, dass es auch in 1500 Einzelteilen so schnell geht?

            Bist Du sicher, daß die Dateien nicht schon im Cache (Platte oder OS) liegen?

            Das wäre durchaus möglich, da ich sie ja gerade ein paar Minuten vorher erzeugt habe.
            Allerdings halte ich 1500 Files im Cache für nicht reell.

            Harzliche Grüße aus http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. Hallo,

              Bist Du sicher, daß die Dateien nicht schon im Cache (Platte oder OS) liegen?

              Das wäre durchaus möglich, da ich sie ja gerade ein paar Minuten vorher erzeugt habe.
              Allerdings halte ich 1500 Files im Cache für nicht reell.

              1500 · 8k, das sollte bei 128MB RAM schon passen, schau dir mal mit 'top' an wieviel buffer du hast.
              Ich habe hier auf einem P1 200 MMX mit 128MB RAM trotz setiathome, MySQL, apache und named etc. noch 38920K buff und 36520K cached, natürlich ohne Grafische Oberfläche.

              cu,
              ziegenmelker

              1. Hello,

                Ich habe hier auf einem P1 200 MMX mit 128MB RAM trotz setiathome, MySQL, apache und named etc. noch 38920K buff und 36520K cached, natürlich ohne Grafische Oberfläche.

                Grafische Oberfläche hat mein Linux-Brummler ja auch nicht. Der arbeitet nur still in der Ecke meine Aufträge ab und ab und zu schau ich in der Konsole mal nach, welche speziellen Einstellungen ich für welchen Kunden nun wieder simulieren muss (php.ini u. vhosts)

                Es sit schon erstaunlich, was ein Rechner leisten kann, wenn man diesen ganzen bunten Quatsch einfach abschaltet.

                Harzliche Grüße aus http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau
                1. Es sit schon erstaunlich, was ein Rechner leisten kann, wenn man diesen ganzen bunten Quatsch einfach abschaltet.

                  Du meinst, das ist so wie ein Mobiltelefon mit dem Zusatz-Feature "ohne Kamera"? :-)

                  1. Hello,

                    Es sit schon erstaunlich, was ein Rechner leisten kann, wenn man diesen ganzen bunten Quatsch einfach abschaltet.

                    Du meinst, das ist so wie ein Mobiltelefon mit dem Zusatz-Feature "ohne Kamera"? :-)

                    So ungefähr.
                    Was soll ich mit nem Mobiltelefon. Die zweimal 30 Minuten im Bus jeden Tag gibts genug von Dingern um mich herum. Jede(r) SchülerIn hat eins. Und wenn ich hier durch die Natur streife, will ich auch nicht angebimmelt werden. Mein altes S4 ohne Karte reicht für den Notruf vollkommen ;-)

                    Harzliche Grüße aus http://www.annerschbarrich.de

                    Tom

                    --
                    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                    Nur selber lernen macht schlau
      2. hi,

        dass das unter win auch geht, wag ich zu bezweifeln.

        aus prinzip oder aus erfahrung?

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
  2. Moin Tom :)

    Wenn Flatfiles soooo schnell verarbeiet werden, dann muss man sich für CMSse wirklich überlegen, ob man überhaupt ein DBMS braucht.

    Na endlich ;)

    (Oder bedarf es noch Worte?)

    Gruß aus Berlin!
    eddi

  3. Hi,

    wie kann es eigentlich sein, dass PHP in der Lage ist, auf einem ganz einfachen PC, mit Athlon500-Prozessor und 128MB SDRAM, Linux und einer einfachen IDE-Festplatte mit 8GB

    1500 Dateinamen aus einem Verzeichnis auszulesen, diese zu öffnen und mit selbstgeschrieben Funktionen auf der Basis von strtolower(), strpos(), usw... (also nicht RegExp) zu parsen um die darin befindlichen Adressen herauszufinden, und das innerhalb von weniger als einer Sekunde?

    Ich verate dir etwas: Ich habe vorhin aus 250 (im Schnitt ca. 300kb große) JPGs innerhalb von 5 Sekunden 150x100-Thumbnails gebaut. Allerdings mit einem Pentium M 735 (1,7 GHz) und 512 MB DDR. Beeindruckt war ich jedoch allemal. Der Flaschenhals scheint also in jedem Fall die Ausgabe, ob nun an einen Browser oder an die Shell.

    Grüße aus Barsinghausen,
    Fabian

    --
    "It's easier not to be wise" - < http://www.fabian-transchel.de/kultur/philosophie/ialone/>
    1. Hello,

      Der Flaschenhals scheint also in jedem Fall die Ausgabe, ob nun an einen Browser oder an die Shell.

      Das sieht so aus.
      Ich habe die Bildschirmausgabe auch erst ganz zum Schluss durchführen lassen.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau