Verzeichnistruktur, Zugriff, Performance
Verzeichnistruktur, Zugriff, Performance
Hallo,
ich habe Perfomance-Probleme beim Zugriff auf ein per Samba freigebenes Unterverzeichnis.
Bei einem PC wird von Thunar das Verzeichnis nach vielleicht 0,5 Sekunden angezeigt, der andere PC benötigt offenbar um die 12 Sekunden.
1Gb-LAN bei beiden PCs, Kopiertempo auf die Ressorce ist auch ähnlich. Der schnellere PC 16GB RAM, CPU-Bench bewertet die CPU mit 8.300, beim langsamen sind es 8GB RAM und 2.300. Einmal Debian Bullseye/Testing, dann Buster. Beide Xfce, Zugriff per Thunar über die direkte Eingabe smb://... .
Die Probleme hängen wohl mit der sehr großen Menge an Unterverzeichnissen, und vmtl. mit der schlechten Leistungsfähigkeit des zugreifenden PCs zusammen. Allerdings wundert mich dabei, dass sich der Leistungsunterschied so stark auswirken soll, zumal bei der Einbindung die Datenmenge schon reduziert ist, so werden bei Bildern in Thunar im Gegensatz zu Verzeichnissen auf dem eigenen PC keine Vorschauen angezeigt.
Es geht z.B. um über 2.000 Verzeichnisse in dem freigegebenen. Die flache Hierarchie erspart mir eine aufwändigere Verwaltung; wenn ich z.B. nochmal Fotos vom Winter 2010/2011 anschauen wollte, habe ich Ordner wie 2010-12-3x und 2011-01-01_05 beieinander, und muß nicht über Jahres- und evtl. noch Monatsgrenzen durch einen Verzeichnisbaum.
Nun habe ich folgende Fragen:
- Wäre hier wirklich eine Optimierung der Verzeichnisstruktur sehr hilfreich oder mehr oder weniger nötig?
- Gibt es für das Problem noch Verbesserungsmöglichkeiten bei der Sambakonfiguration?
- Kann der zugreifende PC anders eingestellt werden, indiziert er womöglich unnötig viel?
Danke und Grüße
ich habe Perfomance-Probleme beim Zugriff auf ein per Samba freigebenes Unterverzeichnis.
Bei einem PC wird von Thunar das Verzeichnis nach vielleicht 0,5 Sekunden angezeigt, der andere PC benötigt offenbar um die 12 Sekunden.
1Gb-LAN bei beiden PCs, Kopiertempo auf die Ressorce ist auch ähnlich. Der schnellere PC 16GB RAM, CPU-Bench bewertet die CPU mit 8.300, beim langsamen sind es 8GB RAM und 2.300. Einmal Debian Bullseye/Testing, dann Buster. Beide Xfce, Zugriff per Thunar über die direkte Eingabe smb://... .
Die Probleme hängen wohl mit der sehr großen Menge an Unterverzeichnissen, und vmtl. mit der schlechten Leistungsfähigkeit des zugreifenden PCs zusammen. Allerdings wundert mich dabei, dass sich der Leistungsunterschied so stark auswirken soll, zumal bei der Einbindung die Datenmenge schon reduziert ist, so werden bei Bildern in Thunar im Gegensatz zu Verzeichnissen auf dem eigenen PC keine Vorschauen angezeigt.
Es geht z.B. um über 2.000 Verzeichnisse in dem freigegebenen. Die flache Hierarchie erspart mir eine aufwändigere Verwaltung; wenn ich z.B. nochmal Fotos vom Winter 2010/2011 anschauen wollte, habe ich Ordner wie 2010-12-3x und 2011-01-01_05 beieinander, und muß nicht über Jahres- und evtl. noch Monatsgrenzen durch einen Verzeichnisbaum.
Nun habe ich folgende Fragen:
- Wäre hier wirklich eine Optimierung der Verzeichnisstruktur sehr hilfreich oder mehr oder weniger nötig?
- Gibt es für das Problem noch Verbesserungsmöglichkeiten bei der Sambakonfiguration?
- Kann der zugreifende PC anders eingestellt werden, indiziert er womöglich unnötig viel?
Danke und Grüße
Re: Verzeichnistruktur, Zugriff, Performance
Nachdem du nichts davon schreibst, dass ein Windowsrechner beteiligt wäre, ist die einfachste und erfolgversprechendste Optimierungsmöglichkeit, SMB/CIFS durch ein besser geeignetes Protokoll zu ersetzen.
Re: Verzeichnistruktur, Zugriff, Performance
Selbst, wenn Windowsrechner im Netz hängen, ist man zwischen Linuxrechnern nicht auf SMB angewiesen. Es ist überhaupt kein Problem, serverseitig Dateibäume mit SMB und mit NFS freizugeben.niemand hat geschrieben:07.02.2021 11:43:52Nachdem du nichts davon schreibst, dass ein Windowsrechner beteiligt wäre, ist die einfachste und erfolgversprechendste Optimierungsmöglichkeit, SMB/CIFS durch ein besser geeignetes Protokoll zu ersetzen.
Ggfls. hilft aber schon, nicht SMB in Userspace zur fahren, wie es Thunar macht. Man kann SMB-Shares auch über die /etc/fstab einbinden, dann kümmer sich der Kernel um das SMB-Protokoll, was oft sehr viel schneller ist. Das gilt aber auch für NFS, denn diese ganzen Filemanager führen die Netzwerkzugriffe innerhalb ihres Prozesses aus. Daher tauchen solche Verbindungen auch nicht auf, wenn man die Befehle mount und df auf der Kommandzeile abssetzt.
Mountet man die Netzwerkdateisysteme über die fstab, kann man natürlich mit Dateimanager auch darauf zugreifen, dann alllerdings nicht über den smb:// Syntax sondern über das Verzeichnis, in dem die Netzwerkquelle eingehängt wurde.
- jph
- Beiträge: 1049
- Registriert: 06.12.2015 15:06:07
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Greven/Westf.
Re: Verzeichnistruktur, Zugriff, Performance
Korrekt, zumal der Userspace häufig nur veraltete Protokollversionen versteht. GNOME Nautlius kann m.W. nur SMBv1.MSfree hat geschrieben:07.02.2021 12:09:50Ggfls. hilft aber schon, nicht SMB in Userspace zur fahren, wie es Thunar macht.
Spätestens dann würde ich aber auf NFS setzen, weil man SMB/CIFS immer pro User einbinden muss, wenn ich richtig informiert bin. Bei mehreren Usern ist NFS einfacher einzurichten.MSfree hat geschrieben:07.02.2021 12:09:50Man kann SMB-Shares auch über die /etc/fstab einbinden, dann kümmer sich der Kernel um das SMB-Protokoll, was oft sehr viel schneller ist.
Lesetipps im Wiki:
![Wiki-Artikel zum Thema](/pics/wikitag.png)
![Wiki-Artikel zum Thema](/pics/wikitag.png)
Re: Verzeichnistruktur, Zugriff, Performance
Mittelfristig sollen auch Windows-Systeme zugreifen können (irgendwo ist auch noch 7 drauf). Kurzfristig möchte ich erstmal von USB-Medien kopieren und aufräumen, da nutze ich derzeit die PCs mit Linux.
SMB und NFS gleichzeitig sollte eigentlich kein großes Problem sein. Die Einbindung von smb-Ressourcen per /etc/fstab wäre eigentlich noch einfacher, das kann ich nachher mal versuchen und schauen, ob sich die Zeit deutlich verbessert.
Allerdings: Der Server muß wahrscheinlich immer zuerst laufen. Die gleiche IP-Adresse muß er aber wohl nicht immer haben, wenn per Name verbunden werden kann, wie bei dem Fundstück:
Dabei wird ist das Passwort von einem smbuser dort offenbar unverschlüsselt eingetragen.
SMB und NFS gleichzeitig sollte eigentlich kein großes Problem sein. Die Einbindung von smb-Ressourcen per /etc/fstab wäre eigentlich noch einfacher, das kann ich nachher mal versuchen und schauen, ob sich die Zeit deutlich verbessert.
Allerdings: Der Server muß wahrscheinlich immer zuerst laufen. Die gleiche IP-Adresse muß er aber wohl nicht immer haben, wenn per Name verbunden werden kann, wie bei dem Fundstück:
Code: Alles auswählen
//SERVER/share /mnt/samba cifs username=user,password=password 0 0
- jph
- Beiträge: 1049
- Registriert: 06.12.2015 15:06:07
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Greven/Westf.
Re: Verzeichnistruktur, Zugriff, Performance
Nicht, wenn du die von mir angeratenen systemd-Automounts verwendest – dann wird erst versucht, die entfernte Ressource einzubinden, wenn ein Anwender darauf zugreift. systemd-Automounts lassen sich auch in der fstab einrichten, allerdings werden die Zeilen dann etwas lang und (für meinen Geschmack) unübersichtlich.curt123 hat geschrieben:07.02.2021 14:22:20Allerdings: Der Server muß wahrscheinlich immer zuerst laufen.
Re: Verzeichnistruktur, Zugriff, Performance
Die Methode mit dem Hostnamen ist sogar zu bevorzugen. Heutzutage kümmert sich der DHCP- und DNS-Server in deinem Plastikrouter zuhause darum, daß Hostnamen in die korrekte IP-Adresse aufgelöst werden. Damit ist es dann auch völlig egal, ob Rechner wechselnde IP-Adressen zugeteilt bekommen.curt123 hat geschrieben:07.02.2021 14:22:20Die gleiche IP-Adresse muß er aber wohl nicht immer haben, wenn per Name verbunden werden kann
Re: Verzeichnistruktur, Zugriff, Performance
Danke, das klingt erstmal gut. Du meinst wohl die o.g. Quelle https://wiki.debianforum.de/Netzlaufwer ... SMB.2FCIFSjph hat geschrieben:07.02.2021 14:55:43Nicht, wenn du die von mir angeratenen systemd-Automounts verwendest – dann wird erst versucht, die entfernte Ressource einzubinden, wenn ein Anwender darauf zugreift. systemd-Automounts lassen sich auch in der fstab einrichten, allerdings werden die Zeilen dann etwas lang und (für meinen Geschmack) unübersichtlich.
Ich finde nur im ersten Moment entgegen der Aussage "Mount und Automount lassen sich in der /etc/fstab auch in einer Zeile definieren, die Definition über separate Units ist jedoch übersichtlicher. " die, wenn ich es richtig verstanden habe, Verwendung zweier zusätzlicher Text-Dateien ("Mount- und Automount-Units werden üblicherweise in /etc/systemd/system/ abgelegt") auch etwas umständlich im Vergleich zu nur einem Verwaltungsort. Oder z.B. die "NetworkManager-Dispatcherskripte", wenn bei so etwas Änderungen oder Anpassungen nötig werden sollten, muß ich das wohl gut merken oder irgendwo dokumentieren und diese Doku auch wiederfinden, und hoffen dass das Skript verläßlich und updatesicher etc. ist.
Re: Verzeichnistruktur, Zugriff, Performance
Das will wohl noch nicht so richtig.
Eine mount-Datei habe ich angelegt, auch eine automount.
Wenn ich als Test die Anmeldung im Terminal als User per systemctl enable mnt-a-medien.automount ausführe, kommt eine Frage nach dem Root-Passwort. Bei systemctl status mnt-a-medien.automount kommt, nach Eingabe des Passworts, Active: inactive (dead).
Beim testweisen Start von automountkommt ebenfalls die Abfrage des Passworts. Bei Falscheingabe ist der Status Active: failed ....
Sonst:
Ausserdem habe ich beim rumprobieren noch so etwas getippt:
Muss ich den Symlink irgendwo wieder löschen?
Muss ich die Skripte mit Rechten ausstatten, um die Abfragen nach root wegzubekommen? Und wie bekomme ich einen "active" Status?
Nachtrag
Wenn NFS deutlich performanter sein sollte, kann ich auch gleich NFS installieren.
Das wäre dann nfs-kernel-server, und beim Client nfs-common.
Hat jemand Erfahrung mit diesem 'NFS Client for windows': https://github.com/DeCoRawr/NFSClient ?
Eine mount-Datei habe ich angelegt, auch eine automount.
Wenn ich als Test die Anmeldung im Terminal als User per systemctl enable mnt-a-medien.automount ausführe, kommt eine Frage nach dem Root-Passwort. Bei systemctl status mnt-a-medien.automount kommt, nach Eingabe des Passworts, Active: inactive (dead).
Beim testweisen Start von automount
Code: Alles auswählen
systemctl start mnt-a-medien.automount
Sonst:
Code: Alles auswählen
systemctl status mnt-a-medien.mount
● mnt-a-medien.mount - CIFS-Freigabe //a/medien einbinden
Loaded: loaded (/etc/systemd/system/mnt-a-medien.mount; enabled; vendor preset: enabled)
Active: inactive (dead)
Where: /mnt/a/medien
What: //a/medien
Code: Alles auswählen
systemctl enable mnt-a-medien.automount
Created symlink /etc/systemd/system/multi-user.target.wants/mnt-a-medien.automount → /etc/systemd/system/mnt-a-medien.automount.
Muss ich die Skripte mit Rechten ausstatten, um die Abfragen nach root wegzubekommen? Und wie bekomme ich einen "active" Status?
Nachtrag
Wenn NFS deutlich performanter sein sollte, kann ich auch gleich NFS installieren.
Das wäre dann nfs-kernel-server, und beim Client nfs-common.
Hat jemand Erfahrung mit diesem 'NFS Client for windows': https://github.com/DeCoRawr/NFSClient ?
- jph
- Beiträge: 1049
- Registriert: 06.12.2015 15:06:07
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Greven/Westf.
Re: Verzeichnistruktur, Zugriff, Performance
Das ist Geschmacksache. Ich persönlich arbeite lieber mit zwei Textdateien als mit einer Riesenbandwurmzeile, aber jeder so wie er mag.curt123 hat geschrieben:07.02.2021 17:21:59Ich finde nur im ersten Moment entgegen der Aussage "Mount und Automount lassen sich in der /etc/fstab auch in einer Zeile definieren, die Definition über separate Units ist jedoch übersichtlicher. " die, wenn ich es richtig verstanden habe, Verwendung zweier zusätzlicher Text-Dateien ("Mount- und Automount-Units werden üblicherweise in /etc/systemd/system/ abgelegt") auch etwas umständlich im Vergleich zu nur einem Verwaltungsort.
![Wink ;-)](./images/smilies/icon_wink.gif)
Der Automount gilt systemweit, daher muss root die Automount-Units enablen/starten. Wenn danach aber ein User einen Mountpoint betritt, der von einem Automount überwacht wird, dann wird der Mountpoint automatisch eingehängt.curt123 hat geschrieben:07.02.2021 22:02:26Eine mount-Datei habe ich angelegt, auch eine automount.
Wenn ich als Test die Anmeldung im Terminal als User per systemctl enable mnt-a-medien.automount ausführe, kommt eine Frage nach dem Root-Passwort.
Ich werde das im Wiki überarbeiten.
Nachtrag: hier kann man das Verhalten sehr schön sehen.
Code: Alles auswählen
jan@t460s:~$ systemctl status mnt-proliant.automount
● mnt-proliant.automount - Automount /mnt/proliant
Loaded: loaded (/etc/systemd/system/mnt-proliant.automount; disabled; vendor preset: enabled)
Active: active (running) since Mon 2021-02-08 17:34:31 CET; 19min ago
Where: /mnt/proliant
Feb 08 17:34:31 t460s systemd[1]: Set up automount Automount /mnt/proliant.
Feb 08 17:42:10 t460s systemd[1]: mnt-proliant.automount: Got automount request for /mnt/proliant, triggered by 14550 (nautilus)
Code: Alles auswählen
jan@t460s:~$ systemctl status mnt-proliant.mount
● mnt-proliant.mount - Mount /mnt/proliant via NFS
Loaded: loaded (/etc/systemd/system/mnt-proliant.mount; static; vendor preset: enabled)
Active: active (mounted) since Mon 2021-02-08 17:42:10 CET; 14min ago
Where: /mnt/proliant
What: proliant.fritz.box:/
Tasks: 0 (limit: 4915)
Memory: 260.0K
CGroup: /system.slice/mnt-proliant.mount
Feb 08 17:42:10 t460s systemd[1]: Mounting Mount /mnt/proliant via NFS...
Feb 08 17:42:10 t460s systemd[1]: Mounted Mount /mnt/proliant via NFS.
Code: Alles auswählen
jan@t460s:~$ systemctl status mnt-proliant.mount
● mnt-proliant.mount - Mount /mnt/proliant via NFS
Loaded: loaded (/etc/systemd/system/mnt-proliant.mount; static; vendor preset: enabled)
Active: inactive (dead) since Mon 2021-02-08 18:05:33 CET; 12min ago
Where: /mnt/proliant
What: proliant.fritz.box:/
Feb 08 17:42:10 t460s systemd[1]: Mounting Mount /mnt/proliant via NFS...
Feb 08 17:42:10 t460s systemd[1]: Mounted Mount /mnt/proliant via NFS.
Feb 08 18:05:33 t460s systemd[1]: Unmounting Mount /mnt/proliant via NFS...
Feb 08 18:05:33 t460s systemd[1]: mnt-proliant.mount: Succeeded.
Feb 08 18:05:33 t460s systemd[1]: Unmounted Mount /mnt/proliant via NFS.
Re: Verzeichnistruktur, Zugriff, Performance
Geht das beim Hochfahren des PC automatisch?jph hat geschrieben:08.02.2021 17:53:45Der Automount gilt systemweit, daher muss root die Automount-Units enablen/starten.
Ich bekomme aber nunmal gar kein "active", weder "running" noch "mounted", auch nicht nach nach erfolgreicher Legitimation.Sowie mein Nautilus auf den Mountpoint zugreift