h0schi Posted December 31, 2021 Share Posted December 31, 2021 (edited) Hallo Zusammen, ich betreibe einige Zeit schon ein Lancache-Server (im Docker (https://github.com/lancachenet/lancache-dns & https://github.com/lancachenet/monolithic). Die Workstation ist mit 2,5 Gbit und der Unraid-Server per 10 Gbit LACP an mein Mikrotik-Switch angebunden. MTU 9000 / Jumbo-Frames aktiv. Der gecachte Download-Inhalt zur Workstation wrid ca. mit 140-150 MB/s - wenn der Inhalt noch auf dem Cache Pool (BTRFS / 2x NVME im RAID1). Wenn der Download-Inhalt bereits auf den HDDs (BTRFS / WD Gold 6TB) abliegt wird der Inhalt mit ca. 70-80 MB/s übertragen. Die HDDs hängen an dem Onboard SATA-Controller mit AHCI. Mit den Übertragungsraten via SMB bin ich soweit zufrieden. Ebenfalls ist es so, dass beim Vorgang die CPU-Last unheimlich in die Höhe steigt. Den NIC-Buffer habe ich schon erhöht auf 4096 erhöht, den Offload deaktiviert, die FlowControl deaktiviert, die CPU Mitigations deaktiviert, CPU-Pinning versucht, mal ohne LACP getestet, Direct-IO getestet, CoW auf dem Share getestet, etc. Jemand eine Idee wie ich die CPU-Last senken kann und die Transferrate der HDDs steigern ? Schon mal frohes neues Jahr und einen guten Rutsch ! Edited December 31, 2021 by h0schi Quote Link to comment
mgutt Posted December 31, 2021 Share Posted December 31, 2021 1 hour ago, h0schi said: Den NIC-Buffer habe ich schon erhöht auf 4096 erhöht, den Offload deaktiviert, die FlowControl deaktiviert, die CPU Mitigations deaktiviert, CPU-Pinning versucht, mal ohne LACP getestet, Direct-IO getestet, CoW auf dem Share getestet, etc. Spielt alles keine Rolle. Auch MTU nicht. Da holst du nur minimal mehr Speed mit raus. 1 hour ago, h0schi said: Ebenfalls ist es so, dass beim Vorgang die CPU-Last unheimlich in die Höhe steigt. Die im Unraid Dashboard zu sehen ist? Die enthält auch I/O Wait = hat nichts mit der eigentlichen CPU Last zu tun. Die reale Last siehst du nur, wenn du im Terminal "htop" ausführst. 1 hour ago, h0schi said: Jemand eine Idee wie ich die CPU-Last senken kann und die Transferrate der HDDs steigern ? https://forums.unraid.net/topic/97165-smb-performance-tuning/ Dazu zählt vor allem Punkt 3, also das Umgehen der Share-Pfade und damit das Umgehen vom SSHFS Overhead. Du musst also wo es nur geht auf /mnt/user verzichten zB in dem du manuell einen SMB Share erstellst oder alle Docker Pfade auf /mnt/cache bzw /mnt/diskX umstellst. Die CPU Last sinkt dann um mindestens 50%. 1 Quote Link to comment
h0schi Posted December 31, 2021 Author Share Posted December 31, 2021 Dank dir. Ich probier es mal aus. Quote Link to comment
i-B4se Posted January 1, 2022 Share Posted January 1, 2022 Ich nutze Lancache-Bundle schon einige Zeit. Dafür habe ich einen extra Cache-Pool angelegt, damit das Array nicht für den Game-Cache arbeiten muss. Z. B. bei kleinen Patches von Games würde das Array anspringen bzw. der Mover dieses wecken. Und wenn diese Platte(n) mal flöten gehen, dann ist halt nur der Downloadcontet von den Games weg, aber das stört mich nicht wirklich. Die CPU-Last steigt dabei schon etwas. Das liegt auch daran, dass die Games in viele kleine Pakete zuerlegt werden. Schau dir mal die Ordnerstrucktur von Lancache an. So ist die Auslastung meiner CPU im Dashboard und vom Docker selbst. 1 Quote Link to comment
elgatobavaria Posted July 28, 2022 Share Posted July 28, 2022 Zum Thema Lancache-Bundle / Unraid hätte ich auch noch ne - dumme ? - Frage . Ich verwende ebenfalls das Lancache-Bundle im Dockerbetrieb und bin mit der Performance bereits gecacheder 🙂 Files nicht zufrieden. Mehr wie 20MB/s bekomme ich nicht zustande. Da der "cache" Order auf einer WD-RED Hdd liegen denke ich, dass die Zugriffszeiten das Problem sind ( Steam und kleine Dateien... ). Kann ich das - ohne eine SSD kaufen zu müssen - ein wenig beschleunigen ? Specs meines Systems: CPU: I9100 ( CPU is langweilig ) RAM: 16Gb RAM HDD: WD-Red 4TB Cache SSD: Nicht vorhanden Netzwerk: 1 Gbit ( Durchsatz bei SMB ist etwa 105MB/s ) VG, Mathias Quote Link to comment
sonic6 Posted July 28, 2022 Share Posted July 28, 2022 Mal ne kleine Offtopic Frage nebenbei zu den Lancache Nutzern. Es läuft zwar alles, was ich zb über Steam runterladen über den Unraid Server, aber irgendwie habe ich das Gefühl, dass nicht wirklich auf den Cache zurückgegriffen wird. Wenn ich zb ein Spiel am PC lade und danach am Steam Deck, wird dennoch immer aus dem Web runtergeladen. Quote Link to comment
elgatobavaria Posted July 28, 2022 Share Posted July 28, 2022 57 minutes ago, sonic6 said: Mal ne kleine Offtopic Frage nebenbei zu den Lancache Nutzern. Es läuft zwar alles, was ich zb über Steam runterladen über den Unraid Server, aber irgendwie habe ich das Gefühl, dass nicht wirklich auf den Cache zurückgegriffen wird. Wenn ich zb ein Spiel am PC lade und danach am Steam Deck, wird dennoch immer aus dem Web runtergeladen. Bei beiden der richtige DNS eingetragen und auch aktiv ? WINDOWS --> CMD --> ipconfig /flushdns Beim Steamdeck hab ich keine Ahnung... Quote Link to comment
h0schi Posted July 28, 2022 Author Share Posted July 28, 2022 (edited) 3 hours ago, elgatobavaria said: Zum Thema Lancache-Bundle / Unraid hätte ich auch noch ne - dumme ? - Frage . Ich verwende ebenfalls das Lancache-Bundle im Dockerbetrieb und bin mit der Performance bereits gecacheder 🙂 Files nicht zufrieden. Mehr wie 20MB/s bekomme ich nicht zustande. Da der "cache" Order auf einer WD-RED Hdd liegen denke ich, dass die Zugriffszeiten das Problem sind ( Steam und kleine Dateien... ). Kann ich das - ohne eine SSD kaufen zu müssen - ein wenig beschleunigen ? Specs meines Systems: CPU: I9100 ( CPU is langweilig ) RAM: 16Gb RAM HDD: WD-Red 4TB Cache SSD: Nicht vorhanden Netzwerk: 1 Gbit ( Durchsatz bei SMB ist etwa 105MB/s ) VG, Mathias Du kannst mal den Slice-Size des "Lancache" Docker-Container (die Variable muss wahrscheinlich erst angelegt werden) erhöhen und versuchen ob es dadurch besser wird. Vorsicht -> Dabei werden alle bereits gecachten Dateien unbrauchbar ! Ansonsten würd ich mal den Lösungsvorschlag von @mgutt oberhalb in dem Thread testen: Edited July 28, 2022 by h0schi Quote Link to comment
sonic6 Posted July 28, 2022 Share Posted July 28, 2022 2 hours ago, elgatobavaria said: Bei beiden der richtige DNS eingetragen und auch aktiv ? WINDOWS --> CMD --> ipconfig /flushdns Wird keinen Einfluss haben, PC und Deck laden ja beide über den LANCache, welches ich am Up/Down-Stream vom Unraid Server sehe. Jeglicher Steam Traffic geht durch den Container... aber es wird immer komplett aus dem Netz geladen. Ich "dachte", wenn ich zb CS:GO lade, dann wird beim ersten mal aus dem Netz geladen und danach laden alle weiteren Clients aus dem Cache. Quote Link to comment
i-B4se Posted July 28, 2022 Share Posted July 28, 2022 43 minutes ago, sonic6 said: Wird keinen Einfluss haben, PC und Deck laden ja beide über den LANCache, welches ich am Up/Down-Stream vom Unraid Server sehe. Jeglicher Steam Traffic geht durch den Container... aber es wird immer komplett aus dem Netz geladen. Ich "dachte", wenn ich zb CS:GO lade, dann wird beim ersten mal aus dem Netz geladen und danach laden alle weiteren Clients aus dem Cache. Ich habe zwar kein Steam Deck, aber so sollte es eigentlich sein. Funktioniert hier bei uns mit 4 PCs ohne Probleme. Wie sind denn deine Netzwerksettings beim Deck? Wenn du da etwas lädst was du noch nicht am PC geladen hast, arbeiten dann deine Platte(n) und es wir was geschrieben? Quote Link to comment
elgatobavaria Posted July 28, 2022 Share Posted July 28, 2022 2 hours ago, sonic6 said: Wird keinen Einfluss haben, PC und Deck laden ja beide über den LANCache, welches ich am Up/Down-Stream vom Unraid Server sehe. Jeglicher Steam Traffic geht durch den Container... aber es wird immer komplett aus dem Netz geladen. Ich "dachte", wenn ich zb CS:GO lade, dann wird beim ersten mal aus dem Netz geladen und danach laden alle weiteren Clients aus dem Cache. Prüf doch mal mit "du -sh" wie groß der cache ordner ist. Evtl. ist deine Konfiguration am Lancache falsch. Falls du z.B. lancache-bundle (https://github.com/Josh5/lancache-bundle) verwendest, darfst du bei den Einstellungen (siehe Bild) nicht "true" setzen. Sonst werden diese Streams ignoriert. (set true to disable) --> Im unten angezeigten Fall speichert er Steam-Dateien im cache ab. Der Stream-Traffic sollte nach meinem Verständnis so oder so durch den Container gehen. ( sonst könnte man ja mit dem Container nicht filtern... ) Quote Link to comment
elgatobavaria Posted July 28, 2022 Share Posted July 28, 2022 5 hours ago, h0schi said: Du kannst mal den Slice-Size des "Lancache" Docker-Container (die Variable muss wahrscheinlich erst angelegt werden) erhöhen und versuchen ob es dadurch besser wird. Vorsicht -> Dabei werden alle bereits gecachten Dateien unbrauchbar ! Ansonsten würd ich mal den Lösungsvorschlag von @mgutt oberhalb in dem Thread testen: Ich probiere das gerade mal aus mit dem Cache-Slice 🙂 . Wie verhält sich lancache eigentlich im Bezug zu einer Unraid Cache SSD ? ( Ich hab leider noch keine, daher keine Ahnung ) Würde sich das z.B. bei einer LANparty positiv auswirken ? Szenario: LANcache ---> Schreibt auf /mnt/HDD1 HDD1 "nutzt" den Unraid Cache Mover schiebt nur alle 2 Tage die Daten --> Daten müssten dann doch 2 Tage auf der Unraid Cache SSD liegen oder ? --> Somit wäre die respone beim lesen die 2 Tage schneller ? Zuviele Fragen in meinem Kopf 🙂 Gruß Mathias Quote Link to comment
jj1987 Posted July 29, 2022 Share Posted July 29, 2022 9 hours ago, elgatobavaria said: LANcache ---> Schreibt auf /mnt/HDD1 Wenn wirklich genau so gemappt, dann wird der Cache ignoriert. Wenn dann /mnt/User Dann würde dein Szenario aufgehen 1 Quote Link to comment
mgutt Posted July 29, 2022 Share Posted July 29, 2022 2 hours ago, jj1987 said: Wenn dann /mnt/User Dann würde dein Szenario aufgehen Wenn eine SSD vorhanden ist, wäre /mnt/cache noch mal schneller. 1 Quote Link to comment
jj1987 Posted July 29, 2022 Share Posted July 29, 2022 10 hours ago, mgutt said: Wenn eine SSD vorhanden ist, wäre /mnt/cache noch mal schneller. Naja so wie ich es verstanden habe soll der Share aber ja nicht cache only/prefer sein. Wenn dann also der Mover "sein Ding macht", findet lancache keine Daten mehr. Das wäre ja dann auch nicht zielführend. Aber klar, wenn man etwas ausschließlich im Cache hat, wäre das natürlich das bevorzugte mapping Quote Link to comment
Calco Posted January 11 Share Posted January 11 On 7/28/2022 at 1:56 PM, sonic6 said: Mal ne kleine Offtopic Frage nebenbei zu den Lancache Nutzern. Es läuft zwar alles, was ich zb über Steam runterladen über den Unraid Server, aber irgendwie habe ich das Gefühl, dass nicht wirklich auf den Cache zurückgegriffen wird. Wenn ich zb ein Spiel am PC lade und danach am Steam Deck, wird dennoch immer aus dem Web runtergeladen. Genau da liegt der Hund begraben. Steamdeck ist ein Linux System, ich nehme mal an dein Rechner läuft mit Windows. Deswegen brauchen sie zwei sehr verschiedene Versionen und somit bringt der Lancache leider nichts. Quote Link to comment
sonic6 Posted January 12 Share Posted January 12 4 hours ago, Calco said: Genau da liegt der Hund begraben. Steamdeck ist ein Linux System, ich nehme mal an dein Rechner läuft mit Windows. Deswegen brauchen sie zwei sehr verschiedene Versionen und somit bringt der Lancache leider nichts. Die Aussage ist leider nicht ganz korrekt. Einige Spiele sind als Windows und als Linux Version auf den Steam Content Servern hinterlegt. Einige andere, wie zb die Spiele von Valve sind sogar so hinterlegt, dass sich nur verschiedene Pakete in Windows und Linux unterscheiden. Hier sind zb Grafiken, audio Daten etc die selben für Windows und Linux. Sprich wenn zb HL am Windows PC vorab geladen wird, ist der Großteil der Daten für Linux auch schon vorhanden. Desweiteren wird beim Großteil der Spiele unter steamOS sowieso die Windows Version genutzt. Mein (mittlerweile behobenes Problem) aus 2022 lag hier an meiner DNS. Wer zb den LANcache-prefill nutzt, hat hier auch die Option auszuwählen für welche OS der LANcache die Daten vorabladen soll. 1 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.