abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 12:00 | Nová verze

Byla vydána nová vývojová verze datového formátu a souvisejících nástrojů Relational pipes. Hlavní novinkou verze v0.16 je použití abstraktní vrstvy ODBC, díky které lze pracovat s libovolným DBMS, např. PostgreSQL nebo MySQL či MariaDB (dříve šlo SQL transformace provádět jen v SQLite). Dále v této verzi přibyl vstupní modul pro audio systém JACK, skrze který lze přijímat MIDI zprávy.

xkucf03 | Komentářů: 2
dnes 00:55 | Zajímavý článek

Alyssa Rosenzweig v příspěvku na blogu společnosti Collabora informuje o novinkách ve vývoji open source ovladačů pro GPU Mali. Na GPU Mali-G31 bez binárního blobu již běží Wayland kompozitory včetně GNOME 3, hra Neverball nebo akcelerace videa v přehrávačích mpv a Kodi.

Ladislav Hagara | Komentářů: 0
včera 23:33 | Zajímavý článek

Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 94 (pdf), HackSpace 31 (pdf) a Wireframe 39 (pdf).

Ladislav Hagara | Komentářů: 0
včera 23:22 | Zajímavý software

Streamhut umožňuje streamování práce v terminálu na web bez nutnosti cokoli instalovat. Zdrojové kódy služby jsou k dispozici na GitHubu pod licencí Apache.

Ladislav Hagara | Komentářů: 0
včera 02:00 | Nová verze

Turris OS, operační systém pro síťová zařízení Turris, byl vydán v nové major verzi 5.0. Vychází z OpenWrt 19.07.3. Podrobnosti na GitLabu.

Ladislav Hagara | Komentářů: 0
včera 01:00 | Nová verze

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

Ladislav Hagara | Komentářů: 0
4.6. 17:00 | Bezpečnostní upozornění

Nedávno byla vydána nová verze 9.4.6 nástroje pro řízení a správu IT zařízení a služeb GLPI (Wikipedie). Opraveno bylo několik bezpečnostních chyb. Například také SQL injection CVE-2020-11032 aneb email z ';-- Have I Been Pwned? dokáže smazat celý ticket systém.

Ladislav Hagara | Komentářů: 0
4.6. 13:00 | Zajímavý článek

MojeFedora.cz informuje, že Firefox 77 pro Fedoru přináší akceleraci videa. Firefox 77 pro Fedoru obsahuje patche, které konečně přináší podporu pro VA-API, tedy hardwarovou akceleraci videa. Podpora pro VA-API momentálně funguje pouze na Waylandu.

Ladislav Hagara | Komentářů: 4
4.6. 12:00 | Pozvánky

Sdružení CESNET dnes opět po roce pořádá jednodenní seminář věnovaný internetovému protokolu IPv6. Tentokrát on-line a s názvem Svět bez IPv4. K dispozici jsou také prezentace a záznamy přednášek z loňského roku.

Ladislav Hagara | Komentářů: 0
4.6. 08:00 | Nová verze

Byla vydána nová stabilní verze 2.83 svobodného 3D softwaru Blender. Přehled novinek v oznámení o vydání a na YouTube. Jedná se o první verzi Blenderu s prodlouženou dvouletou podporou (LTS).

Ladislav Hagara | Komentářů: 6
Používáte některé open-source řešení [protokol] pro šifrovaný instant messaging?
 (32%)
 (20%)
 (4%)
 (12%)
 (13%)
 (6%)
 (12%)
 (22%)
Celkem 90 hlasů
 Komentářů: 8, poslední dnes 13:40
Rozcestník

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

18.3. 11:00 Hrabin
samba a mnoho malých souborů = špatný výkon
Přečteno: 386×
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. 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. 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. 18:33 bigBRAMBOR | skóre: 34
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. 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. 07:33 bigBRAMBOR | skóre: 34
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. 08:51 Aleš Kapica | skóre: 50 | 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. 16:47 dustin | skóre: 62 | blog: dustin
Rozbalit Rozbalit vše Re: samba a mnoho malých souborů = špatný výkon
18.3. 18:26 PetebLazar | skóre: 15
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. 19:02 dustin | skóre: 62 | 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. 21:57 PetebLazar | skóre: 15
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.