DS1515+ - Schreiben von sehr kleinen Einheiten extrem langsam

Status
Für weitere Antworten geschlossen.

real_skydiver

Benutzer
Mitglied seit
14. Feb 2015
Beiträge
26
Punkte für Reaktionen
0
Punkte
1
Hallo Leute,

folgendes Problem: eine DS1515+ mit 5x4TB ST4000VN000-1H4168, seit ca. 6 Monaten in Betrieb, störungsfrei, unauffällig. Performance unter "normalen" Umständen hervorragend, angebunden an mein (24x1000) Switch via Bond (2 Lanes). Große Files "fliegen" mit der max. Geschwindigkeit die die Clients (i.d.R. alles W7, einige RedHat usw.) erlauben hin und her. Alles gut soweit. Aber! Ich habe eine kleine Applikation (selbst geschrieben, C++) die von einem Kunden bestimmte, ausgewählte Datensätze (einzelne Aufträge) liest und dann serialisiert auf Platte schreibt. Wenn ich das Tool auf die lokale Plate schreiben lasse ist das Schreiben selbst (für ein ca.15MB großes File) in ca. 12 Sekunden erledigt (etwas merkwürdig dabei, die Zeit verändert sich nicht, egal ob ich auf meinem Entwicklungsrechner auf die lokale SSD oder die lokale HD schreibe, zugegeben, die HD ist sehr schnell). Schreibe ich das gleich File auf das NAS dauert es ca. 15 Minuten!! Das File wird (im Explorer betrachtet) langsam immer größer, das heißt es wird geschrieben, nur eben extrem langsam. In meinem Programm selbst wird das Ganze nicht in einem Block geschrieben, sondern jede Spalte/Zeile schreibt mehrere kleine Chunks hintereinander (Größen-Information, Null-Indikator, Wert selbst usw., meistens so. ca. 2 - 10Bytes).

Hat jemand eine Idee, ob das NAS sich hier zu schnelleren Schreibraten überreden lassen könnte?

Vielen Dank für Eure Zeit und mit besten Grüßen.
 

dil88

Benutzer
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
31.055
Punkte für Reaktionen
2.559
Punkte
829
Wenn tatsächlich immer zwei bis zehn Bytes ans NAS geschickt werden, dann kommen da unglaublich schlechte Schreibraten heraus, inbesondere weil hier der Netzwerkoverhead dazu kommt. Du solltest in Deiner Applikation die Daten sammeln und dann größere Einheiten oder das komplette Dokument schreiben.

Hast Du auf der DS den Schreibcache aktiviert? Wenn nicht, könntest Du ansonsten damit nochmal testen.
 

real_skydiver

Benutzer
Mitglied seit
14. Feb 2015
Beiträge
26
Punkte für Reaktionen
0
Punkte
1
@DIL88
Vielen Dank für Deine schnelle Antwort. Ja, da hatte ich wohl wieder einmal "ein Brett vorm Kopf". Hätte ich selbst darauf kommen können, dass der Networkoverhead bei so kleinen Einheiten einfach dramatisch ist. Habe den Test wiederholt und via LAN auf meinen Server (W2k8R2) geschrieben, im Prinzip das gleiche Ergebnis. Die App umbauen ist natürlich möglich (virtual memory reservieren, Alles da hin schreiben und anschließend in einem Rutsch in die Ziel-Datei), ich denke ich behelfe mir vorerst so, dass ich in ein lokals File schreiben lasse und dann die Datei auf's NAS verschiebe. Das Programm wird eh (wegen der notwendigen Parameter) von einer Batch aufgerufen.

Vielen Dank für's Augen öffnen!! :)
 

real_skydiver

Benutzer
Mitglied seit
14. Feb 2015
Beiträge
26
Punkte für Reaktionen
0
Punkte
1
Ähhm, ach ja: ich glaube die DS1515+ hat gar keinen Schreib-Cache. Dazu bedarf es einer SSD, damit würde ich aber (ohne Expansion-Modul) einen Steckplatz verlieren und mithin 4TB ... oder liege ich da falsch?
 

dil88

Benutzer
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
31.055
Punkte für Reaktionen
2.559
Punkte
829
Da liegst Du insofern falsch, als ich von einem Software-Cache rede. Und den gibt es. Sollte sich im Speicher Manager finden.
 

amarthius

Super-Moderator
Teammitglied
Mitglied seit
03. Jun 2009
Beiträge
6.816
Punkte für Reaktionen
33
Punkte
174
So ganz habe ich den Sinn des Tools noch nicht verstanden, aber wenn du in der DS ein iSCSI Laufwerk anlegst und in Windows einbindest, dann behandelt es Windows wie eine "echte" Festplatte und die Schreibraten müßten besser werden. Vll kannst du dies einmal testen.
 

dil88

Benutzer
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
31.055
Punkte für Reaktionen
2.559
Punkte
829
Das ist ein guter Vorschlag. Allerdings wird sich auch das iSCSI-Protokoll vermutlich mit zwei bis 10 Byte großen Häppchen schwer tun.
 

real_skydiver

Benutzer
Mitglied seit
14. Feb 2015
Beiträge
26
Punkte für Reaktionen
0
Punkte
1
@amarthius
Sinn des Tools? Na ja, ich könnte jetzt sage: es (wahrscheinlich) so viele kleine (sehr spezifische) Tools auf dieser Welt, wie es Sandkörner gibt ... :) der Sinn sich auch nur dem erschließen, der sie entwickelt hat ... aber ich versuch's mit ein paar Sätzen: für Software-Tests muss ich hin und wieder Aufträge (verteilt auf ca. 10 Tabellen) aus der Oracle-DB meines Kunden zu mir holen. Natürlich bietet Oracle einige Tools an, die waren mir aber alle zu unflexibel. Mein Tool kennt alle beteiligten Tabellen und die dazu notwendigen Selektionskriterien, selektiert den Auftrag un serialisiert ihn in eine Datei. Das gleiche Tool hat auch die "Gegenrichtung" (Schalter auf der Kommandozeile, das heit ich kann den Auftrag damit bei mir wieder importieren. Als dritten möglichen Modus löscht das Tool einen bereits bestehenden Auftrag aus der DB. So kann ich einen Auftrag immer wieder mit den gleichen Startbedingungen quasi "auf Knopfdruck" in mein System importiern und die Tests immer wieder durchlaufen lassen. Hoffe das war verständlich :)

Die Idee mit dem iSCSI ist nicht schlecht (verwende ich auch als File-System in einer virtuellen Maschine, auf der die Tablespaces einer darauf installierten Oracle-Instanz liegen) - da das Tool aber u.U. auch noch Andere verwenden werde ich den (kleinen) "Umbau" des Tools favorisieren.

Vielen Dank nochmal an Alle!
 

real_skydiver

Benutzer
Mitglied seit
14. Feb 2015
Beiträge
26
Punkte für Reaktionen
0
Punkte
1
So, letzter Post: Tool umgebaut - Schreiben der ca. 15MB großen Datei jetzt (SSD, HD, NAS) 1,2 sec :)
 

dil88

Benutzer
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
31.055
Punkte für Reaktionen
2.559
Punkte
829
Sehr schön, well done. :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat