Montag, 20. November 2017, 16:05 UTC+1

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: NAS Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Sousuke

Anfänger

Beiträge: 17

Wohnort: Kaiserslautern

1

Mittwoch, 25. Juni 2008, 12:27

Datendurchsatz bei HTTPD

Hi Leute!

Ich habe hier ein kleines Problem mit meinem NAS-2000. Darauf läuft seit je und eh Debian drauf und es läuft einfach wie geschmiert.
Vor kurzem hab ich meine Server-Box abgelöst, und der HTTP-Server läuft nun aufm NAS. Doch leider ist die maximale Datenrate etwas bescheiden: 7kb/s. Dabei könnte die 1MBit Uploadleitung mehr vertragen!

Habe einige Tests durchgeführt und bin zu einem seltsamen Ergebnis gekommen:
1. Zugriff auf den HTTP-Server vom internem Netzwerk aus: Volle 100MBit, ok!
2. Zugriff vom internen Netzwerk über externe Internet-IP: Volle 1MBit, ok! (Hmm wie die Fritzbox das routet?)

3. Zugriff von außen: Besch***eidene 7kb/s, urgs!
4. Zugriff vom außen mit SSH Tunnel auf NAS: Volle 1MBit, höö?

Wie man bei 4. sehen kann, ist die Box definitiv nicht überlastet gewesen. Man kann sogar mehrere unterschiedliche Verbindungen mit jeweils 7kb/s aufbauen, und so die 1MBit Leitung auszunutzen, aber das wäre nicht gerade Sinn und Zweck der ganzen Sache.
Kennt jemand das Problem? Scheinbar mag die NAS einfach keine direkten Zugriffe von außen? Bin im Moment echt ratlos... :(
Egal was für Ratschläge kommen, würde alles tun um das Prob zu lösen ;)
(Btw, mit dem FTP Server verhält es sich genauso!)

Sousuke
IB-NAS 2000: 2.6.10 Kernel (tinky-2_3_2-mu-02.2), Debian von HDD, nas2000-event daemon v1.0 (z.B. für Power-Button), lighttpd + php5 + proftpd + subversion.

HWguru

NAS2000-Team

Beiträge: 1 001

Wohnort: Wien

2

Mittwoch, 25. Juni 2008, 13:55

Hallo und willkommen bei uns Sousuke!

Zitat

(Btw, mit dem FTP Server verhält es sich genauso!)

Ja, hast du denn die Suche bei uns bemüht? Aus dem Kommentar muss ich schließen - nein!

Für ftp gibt es ausführliche Beiträge (zB diesen) und auch eine Lösung.

lG HWguru
Leute ohne Laster haben oft wenige Tugenden...
NAS2000 2.3.2.IB.2.RS.1+Lüfterabschaltung+SSH+do_it+zusätzliche commandline tools+changed root password
1. suchen - lesen - Google - lesen - 1. Fragen gehören ins Forum, dann profitieren alle davon!

Sousuke

Anfänger

Beiträge: 17

Wohnort: Kaiserslautern

3

Mittwoch, 25. Juni 2008, 17:24

Hi HWguru!

Doch die Suchfunktion hatte ich tatsächlich schon benutzt und den besagten Thread gefunden. Aber die Lösung verschaffte hier keine Abhilfe (für HTTPD), daher schloß ich daraus, das Problem ist ein anderer. ;)
Ok FTP Übertragungsraten sind seltsamerweise wieder vollkommen ok, sogar ohne Patch. Seltsam... könnte schwören dass es vorher langsamer war! Oder war ich besoffen? ?( Egal, hauptsache Problem ist weg.

Dennoch bleibt das eigentliche Problem bestehen. Der HTTP-Server ist nach wie vor lahm. Auch mit MTU-Änderung bleibts bestehen. Habe auch schon andere *lightweight* HTTP Daemons getestet, ohne Erfolg.
Habe vorhim mal den alten Server wieder angeschlossen mit Apache. Da gibts wieder 100%iger Upload-Speed.
IB-NAS 2000: 2.6.10 Kernel (tinky-2_3_2-mu-02.2), Debian von HDD, nas2000-event daemon v1.0 (z.B. für Power-Button), lighttpd + php5 + proftpd + subversion.

HWguru

NAS2000-Team

Beiträge: 1 001

Wohnort: Wien

4

Mittwoch, 25. Juni 2008, 17:38

Hallo!
Ich kann zwar nicht glauben dass ftp von extern ohne Patch läuft, aber wenn's läuft ist es gut. Es könnte ja auch noch vom Switch, Router oder sonstigen Netzwerkkomponenten abhängen.

Bei httpd gibt es keine Erfahrungswerte.
Beim proftpd war das Problem mit einem Netzwerkschnüffler wie Wireshark gut zu beobachten.
Hast du das schon versucht? Kommen da Retries?

Es wird wohl an dem http Server liegen. Was nutzt du denn?
Wir hatten uns beim proftpd dann auch an die Entwickler gewendet.

HWguru
Leute ohne Laster haben oft wenige Tugenden...
NAS2000 2.3.2.IB.2.RS.1+Lüfterabschaltung+SSH+do_it+zusätzliche commandline tools+changed root password
1. suchen - lesen - Google - lesen - 1. Fragen gehören ins Forum, dann profitieren alle davon!

Sousuke

Anfänger

Beiträge: 17

Wohnort: Kaiserslautern

5

Freitag, 27. Juni 2008, 14:38

Sodele da bin ich wieder!

Habe nochmal nen Tag verbraten um Tests durchzuführen und bin auf seeehr eigenartige Ergebnisse gekommen. 8|
(Hab alle Tests an 2 unterschiedlichen Uni-Leitungen getestet.)

Als HTTP Server wurden micro-httpd, mini-httpd, lighhttpd, apache2 (prefork & worker) und thttpd getestet. Erstaunlicherweise gingen alle (außer thttpd) nicht. Habe mit wireshark die Packets analysiert und hab zu 90% fehlerhafte Übertragungen gefunden.
1. Die Frame Pakete hatten völlig falsche Größen gehabt: 4162 Bytes vs. 1506 Bytes erlaubte.
2. Das TCP Paket übertrug gleichzeitig 2 bis 3 Fragmente, statt sie aufzuteilen. Die Größenangaben und CRCs im Header waren entsprechend falsch. (Tatsächlich wurde nur die Größe eines Packets angezeigt)
3. Die Sequenznummern der Pakete stimmen logischerweise nicht überein, siehe 2.
4. Die MTU Werte im Netzwerk werden nicht beachtet. (1500 Bytes vs. 1492 Bytes)
Wie man sehn kann, ist die Übertragung echt Foobar!
Aber glücklicherweise geht der HTTP Server wunderbar mit thttpd!

Wie gesagt HWguru, ich hab proftpd ohne Patch. Es geht immer mit full-speed. Upload sowie Download.
Vllt ist im Debian Repository ne andere Version von proftpd als im tinky-repository? Habe hier 1.3.0(-19). Oder es liegt echt an der Netzwerkumgebung? Oder Kernel? Wo finde ich die tinky Kernel sources dazu? Raidsonic bietet nur die 2.4er Kernel an.

Ich muss mir das Ganze noch ein bissel genauer anschauen. Wüsste gerne wodran das liegt, aber im Moment fehlt mir die Zeit wg. Klausuren... :pinch:

Sousuke
IB-NAS 2000: 2.6.10 Kernel (tinky-2_3_2-mu-02.2), Debian von HDD, nas2000-event daemon v1.0 (z.B. für Power-Button), lighttpd + php5 + proftpd + subversion.

snoopy

NAS2000-Team

Beiträge: 467

Wohnort: Zu Hause

6

Freitag, 27. Juni 2008, 14:45

Try this

Hola,

respektive diverser Vermutungen meinerseits zu Deiner Software (thttpd v2.**, config nicht editiert und noch nicht gepatched) kommt mir das prob recht bekannt vor von der DigiBox (t-sy*t*ms) mit draco drauf (ist glaub sogar noch ne alte eSlack version gewesen). Zur sache: die Abhilfe kam mit nem Patch. http://xoomer.alice.it/adefacc/httpd/tht…-pNN/index.html

Ansonsten sehe ich in der Config den "use_sendfile" eintrag. Setz den mal auf off oder comment it out.

Vielleicht nützt ja was.

Greetz. Snoopy
--------------------------------------------------------------------------
Der Mensch ist das wichtigste und kostbarste Peripheriegerät einer Computeranlage.

myStuff: NAS2001+4220(1000Gb-ext3)+Dlink524+KabelD. (120 Mbit)

Sousuke

Anfänger

Beiträge: 17

Wohnort: Kaiserslautern

7

Freitag, 27. Juni 2008, 15:18

Thx für den Hinweis snoopy! Wusste net dass es den Patch für thttpd gab.

use_sendfile bei mir per Default nicht gesetzt gewesen.
Aber denke nicht dass der Patch nötig ist, weil gerade thttpd keine Probleme mit dem NAS hat. Da gehts ja einwandfrei. (Hab thttpd v2.3beta1)

Sousuke
IB-NAS 2000: 2.6.10 Kernel (tinky-2_3_2-mu-02.2), Debian von HDD, nas2000-event daemon v1.0 (z.B. für Power-Button), lighttpd + php5 + proftpd + subversion.

snoopy

NAS2000-Team

Beiträge: 467

Wohnort: Zu Hause

8

Freitag, 27. Juni 2008, 19:44

Hmm. Interessanter Fall. Bei win würd ich auf die APIs tippen, aber mit nem Dembian.. Hast Du mal versucht einen virtuellen host einzurichten?

MTU sollte stimmen, wenn ftp läuft.

Ansonsten scan mal die configs. Mich lässt der gedanke net los, das da irgendwas mit clients per host und limit drin ist.

zum use_sendfile: das war im ftp conf auch net drin, das händische reinsetzen mit param. = off hatte den erfolg gebracht. Also steht nich drin muss nix heißen ;)

Greetz. Snoopy
--------------------------------------------------------------------------
Der Mensch ist das wichtigste und kostbarste Peripheriegerät einer Computeranlage.

myStuff: NAS2001+4220(1000Gb-ext3)+Dlink524+KabelD. (120 Mbit)

Sousuke

Anfänger

Beiträge: 17

Wohnort: Kaiserslautern

9

Dienstag, 15. Juli 2008, 01:17

Sooo endlich fertig mit meinen Prüfungen - Hab wieder etwas Zeit für die lustigeren Dinge des Lebens :D

Hab mal die Quelltexte angeschaut und bin zu einem Fazit gekommen: Alle problematischen http/ftp-server benutzen sendfile fürs Versenden der Daten, was in aller Regel einen Performanceschub bringen soll. Scheinbar isses in unserem Kernel schlecht oder gar falsch implementiert. mE führen alle NAS-Performanceprobleme hierauf zurück.
Mit anderen Worten... so lange das Problem in den NAS-Kerneln nicht behoben wurde: Finger weg von sendfile()! - Ergo: Immer deaktivieren.
(Btw, wo finde ich den 2.6.10 Kernelsource für unsere Boxes? Würde dem Problem gerne auf dem Grund gehen. Hab leider die Sources nicht gefunden... :()

Hier ne kleine Auflistung der Optionen für einige daemons, um's mal auf einem Fleck zusammenzufassen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Apache server
# /etc/apache2/apache2.conf
# http://httpd.apache.org/docs/2.0/mod/core.html#enablesendfile
EnableSendfile Off

# lighttpd server
# /etc/lighttpd/lighttpd.conf
# http://trac.lighttpd.net/trac/wiki/server.network-backendDetails
server.network-backend = "writev"

# thttpd server
# Keine Option noetig, da thttpd (vanilla) kein sendfile unterstuetzt.

# proftpd server
# /etc/proftpd/proftpd.conf
# http://proftpd.org/docs/directives/linked/config_ref_UseSendfile.html
UseSendfile off

Zitat

zum use_sendfile: das war im ftp conf auch net drin, das händische reinsetzen mit param. = off hatte den erfolg gebracht. Also steht nich drin muss nix heißen ;)
Offensichtlich isses in dem debian build deaktiviert oder per default auf off gesetzt? Egal... wie du sagst, das muss echt nichts heißen. ;)

[edit]Ok hab erfahren, dass der 2.6.10er Kernel nun doch bei raidsonic verfügbar ist. :whistling:[/edit]
IB-NAS 2000: 2.6.10 Kernel (tinky-2_3_2-mu-02.2), Debian von HDD, nas2000-event daemon v1.0 (z.B. für Power-Button), lighttpd + php5 + proftpd + subversion.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Sousuke« (15. Juli 2008, 01:27)


HWguru

NAS2000-Team

Beiträge: 1 001

Wohnort: Wien

10

Dienstag, 15. Juli 2008, 07:00

Hallo Sousuke!

Schön wieder was von dir zu hören und danke für deine Zusammenfassung.

Trifft sich vielleicht ganz gut - kleiner_muc ist dran den neuen Kernel zu übersetzen.
Vielleicht kann er dir das Ergebnis für Tests zur Verfügung stellen bzw ihr gemeinsame Sache machen? Siehe hier.

Im August habe ich auch wieder mehr Zeit für lustige Dinge. :)

lG HWguru
Leute ohne Laster haben oft wenige Tugenden...
NAS2000 2.3.2.IB.2.RS.1+Lüfterabschaltung+SSH+do_it+zusätzliche commandline tools+changed root password
1. suchen - lesen - Google - lesen - 1. Fragen gehören ins Forum, dann profitieren alle davon!