Rychlost operaci (kopirovani) - optimalizace || hruba sila?

Hlášení chyb a problémů programu Altap Salamander. Buďte, prosím, ve svých popisech co nejpodrobnější a vytvořte pro každý incident nový příspěvek. Nevkládejte programem generovaná hlášení o pádu programu, pošlete je e-mailem.
User avatar
Datalog
Posts: 244
Joined: 10 Dec 2005, 11:21
Location: Prague, Czech Republic
Contact:

Post by Datalog »

cincura.net wrote:S Honzou R. se nejaky ten patek zname
:lol:
Tak teď už jsem 100% v obraze. Pak jsou pochopitelné i špičkování a "jemné" narážky mezi Vámi. I v jiných zprávách. Taková věc se dá poznat spíše z mimoverbální komunikace a nezaujatým pohledem zvenku vaše vzájemné zprávy zde vypadaly dost syrově až nevražive.

Petr
cincura.net
Posts: 593
Joined: 09 Dec 2005, 17:30
Location: a step further
Contact:

Post by cincura.net »

Datalog wrote:z mimoverbální komunikace a nezaujatým pohledem zvenku vaše vzájemné zprávy zde vypadaly dost syrově až nevražive
Mozan tim, ze jsme oba programatori, tak jsme meli takovy syrovy styl. :)

No nic, tohle uz je silne OT, takze koncim(e).
Jiri {x2} Cincura
Lukas Cerman
Plugin Developer
Plugin Developer
Posts: 36
Joined: 11 Dec 2005, 20:08
Contact:

Post by Lukas Cerman »

Tak jsem schvalne udelal taky maly testik, v normalnych podminkach, zadny optimalizace, tweaky ani defragmentace.... kopiroval jsem jeden velky soubor, neco pres 700MB

Stahovani z meho stroje na notebook, notebook pripojen pres lacinou PCI sitovku.

ntb:
CPU: 30%
NET: 60%

muj stroj:
CPU: 30%
NET: 60%

rychlost: 7.3MB (SS)
cas: 100s (SS) resp. 104s (cmd-copy)

Stahovani z druhe workstation na muj stroj, oba pripojeny integrovanou stitovkou do lacineho 4-portoveho domaciho switche.

Stahovani
muj stroj:
CPU: 30%
NET: 73% (SS) resp. 78% (CMD)

rycholst: 8.5MB (SS)
cas: 86s (SS) resp. 78s (cmd-copy)

takze v podstate zadny rozdil.
cincura.net
Posts: 593
Joined: 09 Dec 2005, 17:30
Location: a step further
Contact:

Post by cincura.net »

Super, dalsi mereni.

Na WinXP je integrovana sitovka jako PCI (oplne obyc. co ma kazdej druhej notebook). Ve druhem stroji je 3Com sitovka v PCI (resp. na tu jsem byl pripojenej).

Pripojil jsem to primo kabelem UTP5, asi 3-4metry, zadny switch - server v tu chvili nic nedelal a nebyl vne pripojen.
Jiri {x2} Cincura
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

Naměřil jsem přenosové rychlosti na Microsoft síti na počítačích v kanceláři. Výsledek je takový, že příkaz Copy z Command Shell je o několik procent rychlejší proti kopírování pomocí Servant Salamander 2.5 beta 10a (rozdíl tak do 3 procent).

Zátěž procesoru: na stařičkém stroji PII@200MHz skočila zátěž na 100%, na novějším notebooku P4@2,66GHz na 40%. Na pracovní stanici Athlon@1,4GHz to bylo kolem 20%.

EDIT: Závěr: pravděpodobně je u Jirky Salamander pomalejší díky velikosti kopírovacího bufferu (velikost paměti, pomocí které Salamander postupně přenáší soubor ze zdroje do cíle), která zrovna "nesedla" síťové vrstvě. Vylučuji možnost, že by operaci zpomalovalo překreslování progress okna operace.

Jirko, jestli budeš mít náladu ještě experimentovat, bylo by možná zajímavé pohrát si s protokoly sítě. Zkusit, jak se přenos chová pouze přes TCP/IP, jak přes NetBIOS. Případně si napsat maličký prográmek, který zavolá ve smyčce API ReadFile/WriteFile a přenese soubor. Mohl bys tak potvrdit/vyvrátit teorii o velikosti bufferu. Salamander momentálně kopíruje přes buffer o velikosti 32768 bajtů.
cincura.net
Posts: 593
Joined: 09 Dec 2005, 17:30
Location: a step further
Contact:

Post by cincura.net »

Jan Rysavy wrote:Závěr: pravděpodobně je u Jirky Salamander pomalejší díky velikosti kopírovacího bufferu (velikost paměti, pomocí které Salamander postupně přenáší soubor ze zdroje do cíle), která zrovna "nesedla" síťové vrstvě. Vylučuji možnost, že by operaci zpomalovalo překreslování progress okna operace.
To s tim prekreslovanim bylo jen pichnuti do ulu, aby se nekdo chytil tematu. 8)
Jan Rysavy wrote: Jirko, jestli budeš mít náladu ještě experimentovat, bylo by možná zajímavé pohrát si s protokoly sítě. Zkusit, jak se přenos chová pouze přes TCP/IP, jak přes NetBIOS. Případně si napsat maličký prográmek, který zavolá ve smyčce API ReadFile/WriteFile a přenese soubor. Mohl bys tak potvrdit/vyvrátit teorii o velikosti bufferu. Salamander momentálně kopíruje přes buffer o velikosti 32768 bajtů.
No ze ses to ty, tak vecer neco spichnu a vyzkousim ruzne buffery. :wink:
Jiri {x2} Cincura
cincura.net
Posts: 593
Joined: 09 Dec 2005, 17:30
Location: a step further
Contact:

Post by cincura.net »

Takze jsem vcera napsal programek, ktery zkopiruje soubor a ma parametrem ovlivnitelnou velikost bufferu.

Vysledky shrnu, tak jak jsme se domluvili s Honzou.

Pro download nema velikost bufferu resp. jeho nastavovani velky vyznam. Zlepseni lze dosahnout v jednotkach sekund na 1GB prenosu. A buffer je nutne naladit primo na velikost souboru (+/-). Pozn.: Nepodarilo se dosahnout ani pomoci cmd, ani programkem rychlosti uvedene jako zacatek tohoto topicu. Pravdepodobne chyby mereni - asi jsem spatne delil/meril.
Zde tedy zadne vyznamne rezervy nejsou.

Naopak pro upload melo nastavovani bufferu markantnejsi vyznam. Bohuzel se nepodarilo nalezt genericke reseni. Obecne zhruba od 64kB (buffer obou sitovek) do 9/10 velikosti souboru rychlost stale roste, potom se zkripluje na velmi nizkou hodnotu. Problem je v tom, ze by bylo nutne buffer nastavovat pro tyto sitove operace individualne. Jako dobra velikost se ukazala hodnota 2MB pro soubory do 10MB, nad 10MB velikosti by bylo mozne jeste buffer zvetsit.
Nelze vsak obecne rici, ze tato hodnota by byla (sub)optimalni. Po dohode jsme se rozhodli (resp. Altap) tento problem prozatim neresit - zrejme by se buffer musel nastavovat take podle prijimajici a vysilajici strany a velikosti souboru (zde minimalni zavislost mame) a to je dalsi prace + cas (jak na praci tak ve vlastnim vykonani kodu).

Honza vsak nevyloucil, ze by se nekdy v budoucnu mohlo toto nastaveni objevit - pak by si velmi "expert users" mohli tuto hodnotu naladit pro jejich podminky.

Zdar a silu.

PS: Pokud nekdo bude chtit otestovat svuj system a nasatveni bufferu, program je k dispozici, staci se ozvat mailem.
Jiri {x2} Cincura
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

Díky za detailní naměření! Do budoucna bychom teoreticky mohli zavést heuristiku ovlivňující velikost bufferu. Naráží to však na problémy, které vedou na kolísání přenosové rychlosti (zejména na větších sítích, kde uživatel nemá celé pásmo sám pro sebe a jejíž zatížení se nepředvídatelně mění). Dalším problémem jsou různé verze Windows, které se z tohoto hlediska chovají velice rozdílně.

Do FTP klienta Petr nedávno podobnou heuristiku zabudoval pro upload, uvidíme jak se osvědčí.

Máme dojem, že řešení podobných problémů by nemělo ležet na aplikacích, ale na úrovni operačního systému, síťové vrstvy a ovladačů.
cincura.net
Posts: 593
Joined: 09 Dec 2005, 17:30
Location: a step further
Contact:

Post by cincura.net »

Jan Rysavy wrote:Máme dojem, že řešení podobných problémů by nemělo ležet na aplikacích, ale na úrovni operačního systému, síťové vrstvy a ovladačů.
<kidding>A neni to pak parada, kdyz si muzu sam rucne ("bez namahy") naladit kopirovani jak potrebuju. ;)</kidding>

Ono reseni, ktere by se libilo vsem programatorum je chimera. Vzdycky bude bordel - a to na vsech vrstach. BTW jak se tesi SS na Windows Vista? :)
Jiri {x2} Cincura
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

cincura.net wrote:To s tim prekreslovanim bylo jen pichnuti do ulu, aby se nekdo chytil tematu. 8)

<kidding>A neni to pak parada, kdyz si muzu sam rucne ("bez namahy") naladit kopirovani jak potrebuju. ;)</kidding>

Ono reseni, ktere by se libilo vsem programatorum je chimera. Vzdycky bude bordel - a to na vsech vrstach. BTW jak se tesi SS na Windows Vista? :)
Toto fórum je určeno pro oficiální podporu uživatelů Servant Salamandera. Velice bychom uvítali, kdyby ses zde omezil pouze na věcné příspěvky, protože popichování a OT tlachání sem nepatří. Zamčeno.
Locked