Odpověď na názor

Odpovídáte na názor ke článku Jak zakázat explicitní fsync (v Ubuntu).

  • 17. 6. 2012 23:10

    Tommy (neregistrovaný)

    Sledujte prosím tok mých myšlenek:

    1) Jsou aplikace které potřebují (resp. je to po nich požadováno) ACID vlastnosti, což mimo jiné vyžaduje v daném okamžiku vynucení zápisu dat na médium.

    2) OS toto sám o sobě zajistit nemůže, neví jak a do kdy data zapsat. Toto musí v konečném důsledku řídit aplikace.

    3) Existují situace kdy ani UPS nepomůže - může se pokazit samotná UPS, může dojít k vyčerpání její kapacity, může se pokazit zdroj v systému, nebo například může dojít ke kernel panic. To vše bez fsync vede k nekonzistenci zapsaných dat.

    To že nižší priorita zápisů by nějak vedla k vyššímu výkonu je absurdní - možná by to platilo pro nějaký váš konkrétní aplikační problém ale rozhodně ne univerzálně. Když nic jiného tak aplikace většinou dělají mix čtení a zápisů a dá se jaksi čekat že když zvýším prioritu čtení na úkor zápisů tak si ve výsledku asi moc nepomůžu. A pokud se bavíme o rotačních discích tak tam většinou nebývá problém v sekvenčních operacích ale v IOPS, a tam čtení/zápis vychází nastejno (je jedno jestli seekujete abyste četl nebo zapsal).

    Tvrzení že pro integritu dat není rozhodující zda se zápis fyzicky provedl ponechávám bez komentáře, resp. viz. body (1) a (3) výše. I když samozřejmě záleží na tom co rozumíte konzistencí - pokud to že fsck na daném svazku proběhne OK tak možná ano. Pokud chcete aby se ACID aplikace chovaly ACID tak je to nesmysl.