php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.05.2007, 11:14  
Erfahrener Benutzer
 
Registriert seit: 09.02.2005
Beiträge: 256
Matthiasnet
Standard für jedes Event immer neuen Ordner anlegen, sinnvoll?

Hallo,

ich habe ein Userbereich programmiert, indem jeder User so genannte Events hochladen kann. Zu diesen Events können mehrere Bilder/Videos hochgeladen werden.
Ich hab das ganze so geregelt, dass für jedes neue Event ein neuer Ordner in einem bestimmten Ordner erstellt wird und in diesem die Dateien, die der User zu diesem Event hochgeladen hat, abspeichert.
Also nach dem Format events/eventid/x.mpg-x.jpg-x.avi-......

Nun hat mir jemand gesagt, dass diese Verwaltung bei über 1000 Events zu Performanceproblemen führt und ich deshalb alles im Ordner events/ abspeichern sollte....

Nun wollte ich euch sozusagen nach einer Bestätigung fragen, führt es den wirklich zu Performance Problemen, wenn ich immer einen neuen Ordner anlege? Ist meiner Meinung nach viel übersichtlicher so :wink:

Über antworten oder passender Lektüre zu diesem Thema würde ich mich freuen

Schöne Grüße

Matthias
Matthiasnet ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.05.2007, 11:40  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Matthiasnet,

wer auch immer diesen Spruch abgelassen hat, hat für meine Begriffe die Filesystem-Theorie nicht verstanden. Nehmen wir an, dass du 1000 Events hast und je Event gibt es 2 Dateien. Das bedeutet, dass in events/ 2000 Dateien residieren. Ein lstat auf ein Verzeichnis mit 2000 Dateien braucht deutlich länger als ein Zugriff auf ein Verzeichnis mit 2 Dateien. Im Single-Host-Betrieb macht sich das natürlich nicht so stark bemerkbar, aber im Cluster-Umfeld / Hoster haben dazu oft ein Konstrukt aus Webservern und NFS-Filesyservern) ist das bereits relevant. Was den Zugriff angeht: Solltest du viele Ändernde Prozesse implementiert haben - z.B. Verwalten des Events - hast du mit der Unterstruktur den Vorteil, dass immer nur derjenige Ordner exklusiv gelockt ist, dessen Event gerade bearbeitet wird.

Kurzum: Die Strukturierung macht definitiv Sinn. Ich persönlich würde in der Datenbank auch nur den Dateinamen (der beim Upload ja brav von Sonderzeichen und sonstigen Unreinheiten (=Leerzeichen) bereinigt wurde) zum Event speichern, da sich der Pfad ja aus einem konfigurierten Base-Path (= events/) plus dessen Event-ID ergibt. So sparst du auch Platz in der DB.

Literatur zu Filesystemen habe ich grade nicht parat, Wikipedia sollte aber sicher was zu dem Thema haben.

Any questions?
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 19.05.2007, 11:49  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Mittels Mod-Rewrite und geeigneter Organisationsstruktur über DB und Skripte kannste du übers Web ja jede beliebige Verzeichnisstruktur vorgauckeln.

Leg dir eine feste Ordnerstruktur an, meinetwegen 16 Ordner von a-f + 0-9 (Hex) und speicher dorthinein jeweils den entsprechenden md5_file() Hash. Das ist auf alle Fälle sauberer, weil du nicht ständig am Ordner anlegen bist.

1000 User * 10 Event = 10.000, dann hast du pro Ordner knapp 60 Dateien, das ist kein Problem. Wenns doch mal mehr wird und merkbar unperformant münzt du das ganze auf 2 Anfangs(hex)buchstaben um, dann is die Wahrscheinlichkeit 1/256, dass ein Ordner eine Datei abkriegt.

Prinzip verstanden, Vorteil eingesehen?
Zergling-new ist offline  
Alt 19.05.2007, 11:57  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Ergänzung zu Zergling: Derartige Konstrukte werden auf Clustern auch häufiger für das Ablegen von Session-Files gemacht, allerdings mit ein Zeichen langen, und beliebig tief verschachtelten Hirarchien.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zugriff mit session auf Ordner begrenzen Diego1978 PHP Tipps 2008 1 08.07.2008 06:38
[Erledigt] Modul Installer (ordner anlegen, entpacken - egal ob Safe Mode ON/OFF!) Nightuser Scriptbörse 6 01.07.2008 13:30
[Erledigt] PHP -> Ordner anlegen der sich auch beschreiben lässt?! Nightuser PHP Tipps 2008 13 30.06.2008 23:51
Serverbeschränkung (Ordner beschränkung) triopsi Server, Hosting und Workstations 2 29.04.2008 17:07
Wie kann man nen nen neuen Ordner erstellen und... Agini PHP Tipps 2008 7 25.08.2007 17:59
TreeMenu Fatal Error PHP Tipps 2006 8 07.04.2006 11:22
neuen Warenkorb anlegen PHP Tipps 2005 2 26.05.2005 16:09
breadcrumb... extra neue ordner anlegen? PHP Tipps 2005 1 15.04.2005 23:14
Kann keine Datei im eigens erstellten Ordner anlegen PHP Tipps 2005 8 11.03.2005 21:03
Neuen Benutzer mittels PHP in MYSQL Anlegen PHP-Fortgeschrittene 1 28.10.2004 17:22
ordner in einem verzeichnis auslesen und anzeigen lindner PHP Tipps 2004 5 19.08.2004 00:03
WebFTP: php denkt die ordner wären dateien... phpfortgeschrittener PHP Tipps 2004 15 09.08.2004 18:38
Ordner lesen --> Baumstruktur --> Problem PHP Tipps 2004 0 30.06.2004 17:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ordner sinnvoll anlegen, verzeichnisse sinnvoll anlegen, php neuer ordner, ordner events, event ordner erstellen, php ordner anlegen, datei ordner sinnvoll anlegen, ordner im betrieb sinnvoll anlegen, immer neuen, mit neuem benutzer ordner anlegen, php neuester hochgeladener ordner, 1000 € sinnvoll anlegen, neue ordner.event, neuer ordner, php verzeichnis anlegen, dateien ordner richtig ablegen

Alle Zeitangaben in WEZ +1. Es ist jetzt 19:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.