Zunächst, wie schon gesagt, UDP ist schneller, keine Frage. TCP wird besser und schneller in unsicheren Netzwerken, sprich, dort, wo viele Korrektueren notwendig werden, weil manchmal Pakete unsauber übertragen werden (ich rede also nicht von unsicher, weil jemand mithören könnte oder so was, eher, weil die Verbindungen wackelig sind, nicht ganz so gut, wie sie sein könnten). In General kann vielleicht gesagt werden, daß innerhalb eines lokalen Netzes, wo also nur Switch und Kabel dazwischen liegen, UDP bessere Performance bringt.
Gerade mit FreeBSD bin ich dazu übergegangen, mount-Optionen so gut es geht ganz wegzulassen. Meiner Erfahrung nach stellen sich sehr gute Ergebnisse dann ein, wenn die Rechner das untereinander aushandeln dürfen und nicht zu etwas gezwungen werden. Diese Regel hat Ausnahmen, aber sie ist jedenfalls immer ein guter Ansatz, von dem aus weiter gebastelt werden kann.
Die Geschwindigkeitsmessung über time hat mich auch mit USB-Sticks schon irgendwie unglücklich zurückgelassen.
Ich wollte herausfinden, welcher Stick der schnellste unter einer ganzen Anzahl ist und erhielt bei allen etwa gleiche Ergebnisse und bei zahlreichen Wiederholungen auch eine enorme Bandbreite, so daß ich das nicht mehr messen nennen will, was ich da bekam. Mit den Sticks hatte ich mich darauf beschränkt, eine Datenmenge von 1GB zu schreiben und zu lesen (hinkopieren und wieder auf die Platte zurück). Danach machte ich das in einem Script mit einer Datengröße von 500MB aber mit zahlreichen Unterordnern sogar zehnmal in Folge und die Ergebnisse waren immer noch unbrauchbar, ich konnte auf diese Art und Weise keinen Favoriten ermitteln. Warum das so war, weiß ich nicht.
Netzwerkperformance sehe ich mir ganz gerne mit iftop an. Nicht nur den aktuellen Spitzenwert, auch eine über die Zeit summierte Ausgabe gibt es da. Trotzdem ermittle ich die tatsächlichen Verhältnisse am liebsten mit der Stopuhr. Bei Datenmengen, die groß genug sind, ergibt das eine wirklich brauchbare Aussage.
Doch das sind nur allgemeine Hinweise, die dich mit deinem Problem nicht unbedingt weiter bringen. Ganz sicher ist es bei mir so, daß alle NFS-Verbindungen besser laufen, als ftp-Datentransfer. Dabei kommen FreeBSD und Linux NFS-3 zum Einsatz und fast alle sind mit 100MB verbunden, nur wenige haben einen GB Link. Manchmal habe ich den Eindruck, (hier besonders, bei Verwendung eines Sat-Receivers, der ein Linux mit busybox laufen hat und nur 32MB Ram oder so was hat, einen 250MHz PPC und eine recht langsame 2.5" IDE Festplatte drinnen) daß die verwendete Hardware bis an die Grenzen kommt und nicht etwa das NFS-Protokoll oder das Netzwerk stört.
Ich kann dir nun nicht die ermittelten Werte in meinem Netz aus dem Kopf zitieren, aber, ich habe einen NAS von Thecus und da wird wohl eine maximale Datenrate von etwa 40MB/s als der Renner angesehen, vielleicht siehst du selbst mal nach, mein Gedächtnis ist nicht mehr so gut.. Der Thecus kann auch NFS und ftp und bei mir arbeitet er sehr zufriedenstellend. Trotzdem bekomme ich von unterschiedlichen Programmen ganz unterschiedliche Datenraten angezeigt und zwar erheblich unterschiedliche. Also, auch während einer datenübrtragung zeigt mir der KDE-(KIO)-Dienst da ganz was anderes an, als iftop und auch, wenn ich versuche, die Einheiten umzurechnen, ergibt sich eine große Abweichung der angezeigten Werte um etwa den Faktor drei bis vier. Alleine die KDE-Anzeige ermittelt auch bei mir die ftp-Übertragung etwa doppelt so schnell, während sie mit Stopuhr oder iftop doch ganz anders bewertet werden muß.
Also, sieh einfach mal nach mit der Stopuhr und ich bin neugierig, was dabei rauskommt.