Honda: Verzeichnisobergrenze ?

Hallo,

ich baue gerade an einem Social Network.
Hier stellt sich die Frage, ob es Sinnvoll ist für jeden User (mit mkdir();) ein Verzeichnis anzulegen, wo für diesen seine Fotos verwaltet werden.

Frage:
Kann es Probleme geben, wenn z.B. 100.000 User und mehr registriert sind, und es damit 100.000 und mehr Verzeichnisse gibt?

Gibt es eine Obergrenze für die Anzahl an Verzeichnissen?... oder gibt es Performance-Schwierigkeiten in dem Zusammenhang?

Das ganze läuft auf einem LAMP-System.

Grüsse & Danke für Antworten,
Honda

  1. Frage:
    Kann es Probleme geben, wenn z.B. 100.000 User und mehr registriert sind, und es damit 100.000 und mehr Verzeichnisse gibt?

    Gegenfrage: Kann es Probleme geben, wenn alle Fotos in einem Verzeichnis sind, also eine Million Fotos (von 100.000 Usern je 10 Stück)?

    Antwort: Es ist Jacke wie Hose, du hast in beiden Fällen extrem viele Einträge in deinem jeweiligen Verzeichnis, und das Dateisystem muß damit klar kommen.

    Gibt es eine Obergrenze für die Anzahl an Verzeichnissen?... oder gibt es Performance-Schwierigkeiten in dem Zusammenhang?

    Es gibt keine Obergrenze, aber je nach Dateisystem extrem niedrige Performance. Es ist daher ratsam, den Verzeichnisbaum in geeigneter Weise aufzusplitten, beispielsweise nach dem Muster /u/s/e/username oder /u/us/use/username.

    Das ganze läuft auf einem LAMP-System.

    Diese Angabe ist ungenügend hinsichtlich der Performancefrage.

    1. Hallo Daywalker,

      Es gibt keine Obergrenze, aber je nach Dateisystem extrem niedrige Performance. Es ist daher ratsam, den Verzeichnisbaum in geeigneter Weise aufzusplitten, beispielsweise nach dem Muster /u/s/e/username oder /u/us/use/username.

      ich hatte vor den Nicknamen der User als Verzeichnisnamen zu nehmen und dies in das unter "html" liegende Verzeichnis "user" zu packen.

      Alternativ könnte ich auch die UserID anstatt des Nicknamens verwenden, sofern dies performanter (da nur zahlen) wäre.

      Die Namen der jeweiligen Dateien (Fotos) sind stets in der DB abgelegt, d.h. der genaue Pfad.

      Das ganze läuft auf einem LAMP-System.

      Diese Angabe ist ungenügend hinsichtlich der Performancefrage.

      ...das System wird angetrieben von einem Dual-Dualcore Opteron Server (8GB Ram), dieser sollte bis 20-30.000 User ausreichen.

      Grüsse,
      Honda

      1. Hello,

        ...das System wird angetrieben von einem Dual-Dualcore Opteron Server (8GB Ram), dieser sollte bis 20-30.000 User ausreichen.

        Schau Dir doch mal ein paar Communities an, ob und wann es bei denen klemmt.

        http://single.de
          http://harzflirt.de
          http://www.bildflirt.de
          http://www.liebe.de

        Die sind mWn alle seriös, also ohne dass Du gleich Popups und Würmer untergeschoben bekommst.
        Ich habe derartige Communities vor Jahren im Kundenauftrag untersucht und musste feststellen, dass es bis heute nur wenige geschafft haben, tatsächlich über 100.000 echte Accounts zu vergeben.
        Die Anzahl der "gleichzeitigen User Online" hält sich auch in Grenzen.

        Für Performance-Einbußen ist dann meistens eine falsche Strategie bei der Datenbanknutzung verantwortlich. Man unterscheidet da zwischen einer Vorwärts- und einer Rückwärtsstrategie.
        Bei der Vorwärts-Strategie werden ungültige Datensätze nicht sofort gelöscht, sondern nur erst als gelöscht markiert, um sie zu einem späteren Zeitpunkt zu entfernen.

        Den Löschlauf macht man dann am besten in einer Schwachlastzeit.

        ...

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

        Tom

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

    2. Hallo Daywalker.

      Es ist daher ratsam, den Verzeichnisbaum in geeigneter Weise aufzusplitten, beispielsweise nach dem Muster /u/s/e/username oder /u/us/use/username.

      Unixer?

      Einen schönen Mittwoch noch.

      Gruß, Mathias

      --
      ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
      debian/rules
  2. hi,

    bitte bleibe in deinem bestehenden Thread.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }