Portál AbcLinuxu, 7. května 2025 16:54

Dotaz: Lze zakázat/obejít sync?

Zdeněk Zámečník avatar 12.3.2013 17:28 Zdeněk Zámečník | skóre: 26
Lze zakázat/obejít sync?
Přečteno: 358×
Odpovědět | Admin
Nemáte někdo tušení, zda lze v Linuxu jednoduše obejít volání sync, aby nedocházelo ke zbytečně častému zápisu na disk? Předem bych chtěl říct, že moc dobře vím, s čím si zahrávám.

Jde mi o to, experimentálně docílit na relativně pomalém linuxovém NASu co nejvyššího výkonu stejným způsobem jako to umějí HW řadiče s BBU (ve writeback módu). Tzn. všechna data určená k zápisu držet v RAM a zapsat je na disk až dojde k zaplnění bufferu bez ohledu na to, že si třeba filesystém řekl o provedení synchronního zápisu.

Trochu jsem hledal a našel jsem nějaká hotová řešení jako (lib)eatmydata nebo bcache. Eatmydata nefunguje, resp. nemá takové výsledky, jaké bych očekával. Bcache vypadá velmi zajímavě, ale odrazuje mě nutná kompilace jádra a údajně nemožnost použití pro md device.

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.3.2013 18:13 Patrik Uhrak | skóre: 31 | blog: pato
Rozbalit Rozbalit vše Re: Lze zakázat/obejít sync?
Odpovědět | | Sbalit | Link | Blokovat | Admin

Suborove systemy ext2,3,4 maju moznost nastavenia casu commit-u v sekundach, tak dat ako aj metadat. A treba pozriet dalsie suborove systemy, resp. ten tvoj zvoleny, ci nieco take podporuje.

Zdeněk Zámečník avatar 12.3.2013 18:21 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: Lze zakázat/obejít sync?
O těchto možnostech vím, ale ty IMHO požadovaný efekt neudělají, protože když se zavolá sync/fsync, tak se stejně zápis okamžitě provede. A to se hlavně v případě databází děje velice často. Potřebuji toto řešit ideálně pod filesystémem přímo na blokovém zařízení.
Řešení 1× (Zdeněk Zámečník (tazatel))
12.3.2013 22:53 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Lze zakázat/obejít sync?
Podle mne bez zásahu do jádra a tedy rekompilaci kernelu se neobejdete. V podstatě se snažíte vytvořit něco jako "rootkit", který významným způsobem změní standardní chování, takže aplikace pak dostávají falešné informace.
Řešení 1× (Zdeněk Zámečník (tazatel))
13.3.2013 16:13 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Lze zakázat/obejít sync?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ak nastavis pomerne lenivy commit pre pripojene extX fs a programom, ktore aktivne a casto volaju sync podstrcis cez LD_PRELOAD vykastrovany sync, tak by sa mohol pocet syncov znacne zredukovat.
If you hold a Unix shell up to your ear, you can you hear the C.
Řešení 1× (Zdeněk Zámečník (tazatel))
13.3.2013 16:33 Radovan Garabík
Rozbalit Rozbalit vše Re: Lze zakázat/obejít sync?

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.