Roman Divacky napsal/wrote, On 12/04/07 10:18: >> > nijak jsem to nezkoumal ale nezda se mi ze by "write(socket, buffer, >> > buflen)" >> > se nejak vyrazne lisilo v sambe a rekneme ftp.
>> Jen pro poradek - pro pruchodnost je klicove zdas pred tim write() >> pouzil sendsockopt TCP_NOPUSH > zpomalilo by nespravne pouziti toho TCP_NOPUSH ten prenos na radove jednotky > procenta normalniho vykonu? To je tezke odhadnout. Zalezi jak casto by takovy "zbytecny" PUSH byl vlozen - jinymi slovy - po jak velkych (zbytecne oddelenych) blocich by data do site vkladal. Mimochodem, na pruchodnost ma horsi dopad nevlozeny PUSH (tam, kde vlozen byt ma) nez obracena situace. Ani to, ze TCP_NOPUSH ve zdrojacich nikde neni jeste nevylucuje, ze problemem byt nemuze prave tohle. K tomu jak velky dopad na pruchodnost by mela tahle chyba bychom i tady museli vedet jak casto/v jake situaci k problemu dojde ... > btw: v sambe neni TCP_NOPUSH pouzito ani jednou (ve zdrojacich) Ani to nanestesti neni indicie samo o sobe. V Sambe se pouziva sendfile() (mimochodem, stejne jako ve ftpd) coz je jeste rychlejsi varianta nez "read ze souboru + write do site, obe v jednom velkem bloku). Jenze je skoro jiste, ze sendfile() se nepouziva vzdy (ani ve ftpd ne - jde totiz pouzit jen tehdy, pokud odesilas framgment dat souboru bez jakekoliv zmeny) - a otazka je (kdyz tam opravdu ten PUSH ve zdrojacich nikde neni) jakou metodou odesila v ostatnich pripadech. Stale ale plati, ze neni jiste, zda se problem opravdu skryva v sitovani - jen, ze i to je kandidat na vysvetleni. Dan -- Dan Lukes SISAL MFF UK AKA: dan at obluda.cz, dan at freebsd.cz, dan at (kolej.)mff.cuni.cz -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l