abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:11 | Nová verze

    Vývojáři postmarketOS vydali verzi 24.06 tohoto před sedmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell, Phosh, KDE Plasma a Sxmo. Aktuálně podporovaných zařízení je 50.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    14.6. 12:11 | IT novinky

    Google Blog ČR informuje, že mobilní aplikaci Gemini a NotebookLM lze používat už také v Česku.

    Ladislav Hagara | Komentářů: 18
    14.6. 11:33 | Nová verze

    Byla vydána nová major verze 8 duálně licencovaného open source frameworku JUCE (Wikipedie, GitHub) pro vývoj multiplatformních audio aplikací.

    Ladislav Hagara | Komentářů: 0
    14.6. 11:11 | IT novinky

    Od 18. června bude možné předobjednat notebook DC-ROMA RISC-V LAPTOP II od společnosti DeepComputing s osmijádrovým 64-bit RISC-V AI CPU a s předinstalovaným Ubuntu.

    Ladislav Hagara | Komentářů: 2
    13.6. 23:55 | Nová verze

    Byla vydána verze 1.79.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    13.6. 14:33 | Zajímavý článek

    Byly zveřejněny výsledky průzkumu (infografika) mezi uživateli FreeBSD.

    Ladislav Hagara | Komentářů: 0
    13.6. 13:22 | IT novinky

    Na konferenci DevConf.CZ 2024 je na stánku Furi Labs prezentován linuxový telefon FuriPhone FLX1. Jeho cena 499 dolarů.

    Ladislav Hagara | Komentářů: 17
    13.6. 00:11 | Nová verze

    Bylo vydáno Eclipse IDE 2024-06 aneb Eclipse 4.32. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 1
    12.6. 22:00 | Nová verze

    Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-2 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: samba a mnoho malých souborů = špatný výkon

    18.3.2020 11:00 Hrabin
    samba a mnoho malých souborů = špatný výkon
    Přečteno: 446×
    Ahoj,

    prosím o radu ohledně nízké propustnosti samby:

    Debian 10, 2x SSD v raidu, samba 4.9.5, 1G síť, i5-9600KF.

    Když kopíruju velké soubory, jede to OK (cca 100MB/s). Když kopíruju velké množství malých souborů (1GB v 50000 souborech), rychlost klesá pod 10MB/s. Když namountuju sambu přes cifs lokálně přímo na serveru, tak velké soubory valí přes 1GB/s ale malé opět řádově kolem těch 10MB/s :(

    FS je EXT4, a lokálně ssd/ssd těch 50k souborů zkopíruju za cca 1.5s, ale přes sambu (mount lokálně) za cca 60s, jakto ?

    Tento problém s výkonem jsem vygooglil ve více diskusích, ale nikde nebylo vyřešení nebo vysvětlení.

    Má to nějaké řešení ?

    Předem díky za odpovědi.

    Jarda

    Odpovědi

    18.3.2020 15:40 debian+
    Rozbalit Rozbalit vše Re: samba a mnoho malých souborů = špatný výkon
    EXT4 - Linux cachuje. Skus si po takom skopirovany dat prikaz sync. Program sync, kym zapise vsetky subory ktore ma v cache na zapis. Pri cache to rozlozi zapis vtedy, ked je menej vytazeni. Preto sa caka pri odpajani media. Este pri cache dokonca napr. 2 zmeny nasledne zluci do 1 a zapise ako 1 zmenu (tj. usetri 1 zapis) napriklad.

    Kazdy disk ma limit IO - trebars 500. Je jedno ci menis 1B alebo 50B vzdy je to menej ako 1 maximalny blok dat, takze to bude stat 1 zapis.

    A teraz sa pozrieme, aky to ma dopad na rychlost. Takze na disk sa zapisuje po (max.) 1MB bloku (resp. najvecsi blok, ak cez siet). Ak zapisujem 10M-ove subory tak sa subor potrebujeme (zjednodusene) 1 zapis na nazov noveho suboru (name file) a 10 zapisovov dat. Co znaci ze rychlost zapisania suborov je najviac 500/11≃45 suborov. Ak mam ze subory su 1M, tak na zapis 1 nazov suboru a 1 blok vychadza, ze pri 500 IO zapise najviac 500/2=250 subor.

    Co znaci ze rychlost na disk pri velkosti 1 subor 10MB rychlost 45*10M=450MB/s. A pri 1M suboroch to da 250*1=250MB/s.

    Co dostaneme tabulku, ktora vysv:
    size_one_file count/s speed/s
               1k 500 500k
              10k 500 5M
             100k 500 50M
               1M 250 250M
              10M  45 455M
             100M  ~5 495MB
    
    Source na vypocet:
    #include <stdio.h>
    #include <stdlib.h>
    
    #define IO 500
    #define BLOCK_SIZE 1000000 /* 1MB */
    
    typedef struct {
    	double max_files_in_minute;
    	double max_data_speed;
    }writed_t;
    
    writed_t writed_in_one_s(long int size_one_file)
    {
    	double count_blocks_of_file;
    	writed_t ret;
    
    	count_blocks_of_file=size_one_file/BLOCK_SIZE;
    	ret.max_files_in_minute=IO/(count_blocks_of_file+1); /* plus name */
    	ret.max_data_speed=ret.max_files_in_minute*size_one_file;
    	
    	return ret;
    }
    
    int main(void)
    {
    	writed_t speed;
    	long int size_file;
    	puts("size_one_file count/s speed/s");
    	for(size_file=1000; size_file<1000000000; size_file*=10)
    	{
    		speed=writed_in_one_s(size_file);
    		printf("%15ld %5.2f %5.2f\n", size_file, speed.max_files_in_minute, speed.max_data_speed);
    	}
    	
    	return 0;
    }
    
    18.3.2020 16:54 debian+
    Rozbalit Rozbalit vše Re: samba a mnoho malých souborů = špatný výkon
    Opravene:
    size_one_file count/s   speed
               1k  250.00   250k/s
              10k  250.00   2,5M/s
             100k  250.00    25M/s
               1M  250.00   250M/s
              10M   45.45 ~455MB/s
             100M    4.95 ~495MB/s
    
    writed_t writed_in_one_s(long int size_one_file)
    {
    	double count_blocks_of_file;
    	writed_t ret;
    
    	if(size_one_file<=BLOCK_SIZE)
    		count_blocks_of_file=1;
    	else
    		count_blocks_of_file=size_one_file/BLOCK_SIZE;
    
    	ret.max_files_in_minute=((double)IO)/(count_blocks_of_file+1); /* plus name */
    	ret.max_data_speed=ret.max_files_in_minute*size_one_file;
    	
    	return ret;
    }
    18.3.2020 18:33 bigBRAMBOR | skóre: 37
    Rozbalit Rozbalit vše Re: samba a mnoho malých souborů = špatný výkon
    A jak ti do toho zapada rozdil v kopirovani lokalnim a lokalne moutnutym CIFS?
    18.3.2020 23:09 debian+
    Rozbalit Rozbalit vše Re: samba a mnoho malých souborů = špatný výkon
    Odpoved mas v texto, co pisal:
    Když kopíruju velké soubory, jede to OK (cca 100MB/s). Když kopíruju velké množství malých souborů (1GB v 50000 souborech), rychlost klesá pod 10MB/s.
    19.3.2020 07:33 bigBRAMBOR | skóre: 37
    Rozbalit Rozbalit vše Re: samba a mnoho malých souborů = špatný výkon
    jenze to se tyka kopirovani pres sit a sambu, nasleduje upresneni - viz cituji dotaz - lokálně ssd/ssd těch 50k souborů zkopíruju za cca 1.5s, ale přes sambu (mount lokálně) za cca 60s, jakto i to ukazuje ze problem je v Sambe a ne v rychlosti disku. Cely tvuj obr komentar se bohuzel mota kolem neco co tam neni.
    19.3.2020 08:51 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: samba a mnoho malých souborů = špatný výkon
    Lokálně si to řeší VFS. Subjektivně se to zdá rychle, protože nečeká na to, až mu nějaká samba potvrdí že může jít na další operaci.

    Mraky malých souborů jsou pro síťové souborové systémy největší mor.
    18.3.2020 16:47 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: samba a mnoho malých souborů = špatný výkon
    18.3.2020 18:26 PetebLazar | skóre: 34 | blog: l_eonardovo_odhodlani
    Rozbalit Rozbalit vše Re: samba a mnoho malých souborů = špatný výkon
    Pohled na htop naznačuje, že limitovaný výkon této úlohy je pravděpodobně dán CPU režií samotné SMB(při mých testech cca 75%core). Kopírování takovéto droboti (50000x 20KB) mezi dvěma NVMe mi také "trvalo" cca 1,5sec.
    18.3.2020 19:02 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: samba a mnoho malých souborů = špatný výkon
    V jedné z těch linkovaných diskusí píšou, že samba při kontrole existence souboru neustále dokola prochází seznam souborů v adresářích, což je údajně pro velký počet souborů v adresáři pro její implementaci poměrně výpočetně náročně. Proto doporučují vypnout case insensitive a také všechny možné hrátky s názvy souborů. To by snad mělo náročnost výrazně snížit.
    18.3.2020 21:57 PetebLazar | skóre: 34 | blog: l_eonardovo_odhodlani
    Rozbalit Rozbalit vše Re: samba a mnoho malých souborů = špatný výkon
    To určitě stojí za prověření.

    Také pokud je na jedné ze stran Windows, pak mezi významné brzdy může patřit i real-time antivirová ochrana. Při pokousech i když jsem přenášel soubory bez přípony, byla to na straně Windows největší CPU zátěž (Defender?).

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.