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 22:22 | Upozornění Ladislav Hagara | Komentářů: 3
    včera 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    včera 14:33 | Zajímavý software

    Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 2
    23.5. 23:22 | Zajímavý software

    BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.

    Ladislav Hagara | Komentářů: 0
    23.5. 16:55 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.

    Ladislav Hagara | Komentářů: 9
    23.5. 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

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

    Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.

    Ladislav Hagara | Komentářů: 19
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (82%)
     (4%)
     (7%)
     (7%)
    Celkem 524 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    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: 33 | 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: 33 | 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.