Passende Filesharing Software gesucht: Download via www mit Userverwaltung?

SimonK91

Lieutenant
Registriert
März 2012
Beiträge
896
Hallo Forum,

ich versuche aktuell zu validieren welche Software sich für Filesharing im größeren Stil am besten eignet. Es sollen Daten via eines eigens betriebenen Servers (Linux) zum Download zu Verfügung gestellt werden (Userbezogen)

Von der Größenordnung her geht es insgesamt um eine Useranzahl im 4-stelligen Bereich, mit einem Datenvolumen von insgesamt mehreren Terrabyte (verteilen sich dementsprechend auf Millionen kleinerer Dateien).

Wir konnten bereits einige Erfahrungen mit z.B. Nextcloud machen, allerdings in einem deutlich kleinerem Umfang. Rein von der Funtionalität her wäre ein Nextcloud-System auch eher ein "mit Kanonen auf Spatzen schießen", da es hauptsächlich um das File-Sharing geht.

Meine Fragen konkret lauten hierzu:

Gibt es geeignetere Lösungen / Alternativen, womit dieses Vorhaben umzusetzen wäre, oder ist man mit Nextcloud da schon gut bedient? Wie sieht es mit den Hardwareanforderungen in diesen Dimensionen aus?

Danke!
 
habt ihr überhaupt die kapazität oder sirrt der server und internetbandbreite bei 5 user ins nirvana?
 
Die Anzahl der User ist ja uninteressant, spannend ist die Anzahl der concurrent Users und deren spezifischer Workload.
Beispiel: 5000 User insgesamt, 500 concurrent Users und die machen nichts außer alle 5 Minuten eine Änderung in Textdateien schreiben -> Kaum Last und Bandbreitenbedarf
Anderes Beispiel: 2500 User insgesamt, 2000 concurrent Users und alle laden HD Videos hoch bzw. streamen die hochgeladenen Videos -> deutlich mehr Last und vor allem enormer Bandbreitenbedarf

Daher ist das so einfach nicht zu beantworten. Wenn es web-basiert und mit User-Authentifizierung sein soll, dann ist Nextcloud sicherlich nicht falsch. Wie gut das mit vielen parallelen Usern skaliert wird dir sicherlich auch der Entwickler sagen können. Aber auch da kommt es auf den Einzelfall an. Alle User sehen alle Daten, jeder User sieht nur seine Daten, Gruppen von Usern sehen Gruppen von Daten und so weiter.
 
Hi,

laden die User auch etwas hoch? Oder geht es wirklich rein um Downloads? Und gibt es dafür ein Budget? Gerade was die Hardware / Infrastruktur angeht wäre das interessant.

VG,
Mad
 
Zu den Nachfragen: Concurrent Users werden garnicht mal allzu viele sein, wir rechnen mit ca 50-100. Der Workloud an sich ist bezogen auf die Dateigrößen auch eher gering, allerdings können es im Zweifel auch viele kleine Dateien sein, das geht dann eben eher auf die Auslastung der Datenbank bzw. CPU/HDD.

Es geht rein um Downloads, die Bandbreite bzw. Anbindung sollte kein Thema darstellen. Was das Budget angeht geht es nach dem Prinzip "so viel wie nötig, so wenig wie möglich". Es soll halt schon sauber laufen.
Da es über den Browser/Weboberfläche laufen soll, Frage ich mich in dem Zusammenhang z.B. ebenfalls, ob das ganze auf Apache laufen soll oder mit NginX, oder ob es egal ist. Ich hatte Apache immer als etwas unperformanter im Hinterkopf?

Ich vermute aber dass wir da mit Nextcloud schon auf dem richtigen Dampfer sind, ich werde wohl mal dort konkret bei den Entwicklern nachhaken wie sauber es da skaliert. Oder hat jemand sinnigere Alternativen auf dem Schirm? Danke
 
Zuletzt bearbeitet:
Bei 50 bis 100 Usern die nur downloaden würde ich mir keinen großen Kopf machen. Ich würde mal schauen ob Nextcloud einen Hardware Sizing Guide anbietet, aber all zu groß muss die Maschine dann nicht sein. Sowas wie ein Dualcore mit 8 GB RAM wird wohl schon reichen, wobei das jetzt nur eine Schätzung meinerseits ist. Dazu eben Storage in der notwendigen Menge. Falls HDDs zum Einsatz kommen würde ich mehrere nehmen, um den I/O auf mehrere Spindeln zu verteilen, und auf einen anständigen Controller setzen.

Und dann musst du dir noch Gedanken machen über Verfügbarkeit, d.h. mehrere Systeme parallel, und Backup. Wenn das ein gewerbliches Unternehmen ist, dann kannst du auf Server von HPE, Dell, whatever zurückgreifen. Wenn es nur eine Spielerei ist und es nicht um Geld geht, dann kannst du auch selbst was bauen.

Welchen Webserver du nimmst dürfte da auch ziemlich uninteressant sein, ich denke die Last wird nie groß genug sein um irgendwelche signifikanten Unterschiede zu merken. Wenn Nextcloud zum Einsatz kommt wird der ja afaik sowieso vorgegeben.
 
Hi,

das sehe ich wie DunklerRabe, für die Last reicht ein "humanes" System aus und NextCloud sollte damit ohne Probleme zurecht kommen.

VG,
Mad
 
Hallo nochmal,

ich habe mir bisher bereits auf YouTube die Nextcloud Database Scalability Conferences angesehen sowie hier nachgesehen:

https://docs.nextcloud.com/server/11/admin_manual/installation/deployment_recommendations.html

Trotzdem fällt es mir weiterhin schwer die real benötigte Hardware einzuschätzen, da es leider von Nextcloud selbst auch keine Benchmarking Tools gibt und es bei setups oft große Rahmen gibt wo es jetztendlich auf ein "it depends" hinausläuft...

Das Konkrete Problem ist:
Wir haben zwar recht humane con-currenct users (ca 150), und insgesamt sind die Datenumfänge auch nicht groß (bis zu 1TB für alle 4000), aber diese erstrecken sich auf 15-20 Mio Files (Files also oft im Bereich 10-50KB). Dadurch ist natürlich I/O Performance gefragt und in der Hinsicht kann ich die Situation nur schwer fassen bzw einschätzen. (hinsichtlich CPU/RAM/HDD und nötige software-seitige Anbindungen der DB, memcaching, indexing usw).

Also konkret: Würden wir hier von humanen Datenmengen reden bei 150 con-current-users würde ich aus dem Bauch heraus sagen ein Dual-Core mit 8GB RAM usw reicht. In meinem falle würde ich jetzt zwar abschätzen dass ein Quad-Core mit 16-32GB RAM und eine SSD reichen würde, aber wer weiß das schon, vielleicht ist das auch 740% zu langsam und man müsste das ganze Setup sogar auf mehrere Instancen verteilen (siehe nextcloud doku) :rolleyes:
 
Zuletzt bearbeitet:
Die Frage ist dann wie viele IOPS die 150 User mit den 15-20 Mio Files so produzieren. Bearbeiten die jeweils nur ein File zur selben Zeit? Oder fünf? Oder hundert? Und was sind akzeptable Antwortzeiten? Und ist noch Wachstum absehbar? Und wie groß ist das Budget für die Hardware?

Normalerweise ist es eher so, dass Ratschläge eher konservativ sind und der Leistungsbedarf auch überschätzt wird. Ich hab da einen Vorschlag im Kopf, aber ich warte noch mal auf deine Antworten, insbesondere bzgl. Wachstum und Budget.
 
Die User werden die entsprechenden Dateien nur herunterladen. Es wird also z.b. ein User einen Stack von ein paar tausend Files anwählen und dann einen Download initiieren. Das Setup wird wohl kein großes Wachstum erfahren, es pendelt sich in dem genannten Umfang ein.
Allerdings wird es nicht auf read-only performance hinauslaufen, da natürlich im Hintergrund Dateien auch eingepflegt/auf den Server hochgeladen werden. Also das alles umfassende Stichwort ist denke ich I/O Performance, mit all den Dingen die daran hängen (hardware- und softwareseitig).

Da das ganze Setup im Umfeld einer Firmenlösung fungiert, ist das Budget wie gesagt "so viel wie nötig, so wenig wie möglich". Es soll eben validiert werden was man letztendlich ca. braucht damit es anständig läuft und nicht unnötig viele Ressourcen eingeplant werden, die letztendlich nicht genutzt werden.

Bezüglich Antwortzeiten, würde ich einfach mal 2-3 Sekunden in den Raum stellen. Alles darüber wird dann schon schnell als langsam empfunden und hätte auch dann keine Luft mehr nach oben.
 
Hi,

ich würde wahrscheinlich auf schnelle PCIe-SSDs setzen. Sofern ein vernünftiges Konzept zur Datensicherung vorhanden ist steht dem meiner Meinung nach nichts im Wege.

VG,
Mad
 
Ok, also ich würde das dann wie folgt machen:

Anfangen würde ich mit der Empfehlung von Nextcloud, d.h. eine Maschine mit Dualcore und 16 GB RAM. Wenn der Aufpreis verkraftbar ist und man nicht jeden Euro sparen will, dann direkt ein Quadcore. Vielleicht fällt die Wahl nachher ja sowieso auf ein System für das es gar keine Dualcores gibt. Die 16 GB RAM würde ich so auslegen, dass bei Bedarf noch erweitert werden kann. Notfalls würde ich dafür auch mit 1x16 GB starten.

Den Storage würde ich dann auch, so wie von Mad vorgeschlagen, in eine schnelle PCIe SSD legen. Das ist teuer pro GB, aber da die Gesamtmenge mit 1 TB überschaubar ist kann man das in dem Fall gut machen. Falls man da Bedenken hat bzgl. Verfügbarkeit, dann ist das allerdings keine Option und ich würde auf einem performanten Raidcontroller zurückgreifen mit einigen SATA oder SAS SSDs. Vielleicht sowas wie 4x 512 GB Raid 10 oder 3x 512 GB Raid 5. Für die Datenbank würde ich dann ein eigenes SSD Raid 1 nehmen.

Ein Backup-Konzept braucht man natürlich auch dann noch.

Eine konkrete Empfehlung wäre dann sowas wie ein HPE ML30 Gen9, ML110 Gen9 oder ML150 Gen9. ML30 = Single Sockel 1151, ML110 = Single Sockel 2011-3, ML150 = Dual Sockel 2011-3. ML150 ist dann vielleicht sogar schon etwas zu groß.
Bei anderen Firmen gibt es natürlich ähnliche Geräte. Das sind jetzt Towerserver, vergleichbare 19"-Alternativen gäbe es natürlich ebenso.
 
Zurück
Oben