Ext4 cache options on a virtual machineLinux md vs. LVM performanceIs virtual machine slower than the underlying physical machine?Which filesystem for large LVM of disks (8 TB)?Calling sync/fsync slows IO after 30 minutes uptimeHandling the potential risk of writing random bits to storage during power loss with RAIDBetter performance when HDD write cache is disabled? (HGST Ultrastar 7K6000 and Media Cache behavior)What could go wrong with ext4 on LVM on a hardware RAID6?Disabling ext4 write barriers when using an external journalIs there a way to protect SSD from corruption due to power loss?How does SSD meta-data corruption on power-loss happen? And can I minimize it?

Unlock My Phone! February 2018

Forgetting the musical notes while performing in concert

Mathematica command that allows it to read my intentions

How to show a landlord what we have in savings?

How seriously should I take size and weight limits of hand luggage?

Is it possible to create a QR code using text?

Why didn't Boeing produce its own regional jet?

Why was the shrink from 8″ made only to 5.25″ and not smaller (4″ or less)

What is required to make GPS signals available indoors?

How can I deal with my CEO asking me to hire someone with a higher salary than me, a co-founder?

Placement of More Information/Help Icon button for Radio Buttons

Why was Sir Cadogan fired?

GFCI outlets - can they be repaired? Are they really needed at the end of a circuit?

Knowledge-based authentication using Domain-driven Design in C#

Sums of two squares in arithmetic progressions

What reasons are there for a Capitalist to oppose a 100% inheritance tax?

What's the meaning of "Sollensaussagen"?

Does int main() need a declaration on C++?

How to install cross-compiler on Ubuntu 18.04?

Why is it a bad idea to hire a hitman to eliminate most corrupt politicians?

Getting extremely large arrows with tikzcd

What Exploit Are These User Agents Trying to Use?

My ex-girlfriend uses my Apple ID to log in to her iPad. Do I have to give her my Apple ID password to reset it?

What does the same-ish mean?



Ext4 cache options on a virtual machine


Linux md vs. LVM performanceIs virtual machine slower than the underlying physical machine?Which filesystem for large LVM of disks (8 TB)?Calling sync/fsync slows IO after 30 minutes uptimeHandling the potential risk of writing random bits to storage during power loss with RAIDBetter performance when HDD write cache is disabled? (HGST Ultrastar 7K6000 and Media Cache behavior)What could go wrong with ext4 on LVM on a hardware RAID6?Disabling ext4 write barriers when using an external journalIs there a way to protect SSD from corruption due to power loss?How does SSD meta-data corruption on power-loss happen? And can I minimize it?













5















I'm trying to speed up a standup of virtual machines used for development / automated test environments and wanted to verify some assumptions about disk writes caching.



I'm using ext4 for the root filesystem in the VM and I don't really care about power-loss scenarios. If there's a power loss and disk gets corrupted, the whole machine can be rebuilt in a couple of minutes. For me that means the following options can be safely applied and it should make no difference to the applications - they will just affect how the buffered data is written to the disk itself, but the cached in-memory representation will be always accurate:



  • nobarrier

  • data=writeback

  • nobh

  • commit=3600

Is this correct? And are there any other ext4 parameters I should look at for performance improvements?










share|improve this question














bumped to the homepage by Community yesterday


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.










  • 1





    An option that is a good idea to have on any file system - noatime.

    – chutz
    Jun 19 '13 at 15:02











  • Yes, that's true and it's already enabled. These are the new options.

    – viraptor
    Jun 19 '13 at 15:17











  • inside each VM (if linux) set the swapiness setting to ensure the VM's minimize memory swapping. If doesn't need a full VM consider using docker.

    – Matt
    yesterday
















5















I'm trying to speed up a standup of virtual machines used for development / automated test environments and wanted to verify some assumptions about disk writes caching.



I'm using ext4 for the root filesystem in the VM and I don't really care about power-loss scenarios. If there's a power loss and disk gets corrupted, the whole machine can be rebuilt in a couple of minutes. For me that means the following options can be safely applied and it should make no difference to the applications - they will just affect how the buffered data is written to the disk itself, but the cached in-memory representation will be always accurate:



  • nobarrier

  • data=writeback

  • nobh

  • commit=3600

Is this correct? And are there any other ext4 parameters I should look at for performance improvements?










share|improve this question














bumped to the homepage by Community yesterday


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.










  • 1





    An option that is a good idea to have on any file system - noatime.

    – chutz
    Jun 19 '13 at 15:02











  • Yes, that's true and it's already enabled. These are the new options.

    – viraptor
    Jun 19 '13 at 15:17











  • inside each VM (if linux) set the swapiness setting to ensure the VM's minimize memory swapping. If doesn't need a full VM consider using docker.

    – Matt
    yesterday














5












5








5


3






I'm trying to speed up a standup of virtual machines used for development / automated test environments and wanted to verify some assumptions about disk writes caching.



I'm using ext4 for the root filesystem in the VM and I don't really care about power-loss scenarios. If there's a power loss and disk gets corrupted, the whole machine can be rebuilt in a couple of minutes. For me that means the following options can be safely applied and it should make no difference to the applications - they will just affect how the buffered data is written to the disk itself, but the cached in-memory representation will be always accurate:



  • nobarrier

  • data=writeback

  • nobh

  • commit=3600

Is this correct? And are there any other ext4 parameters I should look at for performance improvements?










share|improve this question














I'm trying to speed up a standup of virtual machines used for development / automated test environments and wanted to verify some assumptions about disk writes caching.



I'm using ext4 for the root filesystem in the VM and I don't really care about power-loss scenarios. If there's a power loss and disk gets corrupted, the whole machine can be rebuilt in a couple of minutes. For me that means the following options can be safely applied and it should make no difference to the applications - they will just affect how the buffered data is written to the disk itself, but the cached in-memory representation will be always accurate:



  • nobarrier

  • data=writeback

  • nobh

  • commit=3600

Is this correct? And are there any other ext4 parameters I should look at for performance improvements?







virtualization performance ext4






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jun 19 '13 at 14:53









viraptorviraptor

61741735




61741735





bumped to the homepage by Community yesterday


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







bumped to the homepage by Community yesterday


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.









  • 1





    An option that is a good idea to have on any file system - noatime.

    – chutz
    Jun 19 '13 at 15:02











  • Yes, that's true and it's already enabled. These are the new options.

    – viraptor
    Jun 19 '13 at 15:17











  • inside each VM (if linux) set the swapiness setting to ensure the VM's minimize memory swapping. If doesn't need a full VM consider using docker.

    – Matt
    yesterday













  • 1





    An option that is a good idea to have on any file system - noatime.

    – chutz
    Jun 19 '13 at 15:02











  • Yes, that's true and it's already enabled. These are the new options.

    – viraptor
    Jun 19 '13 at 15:17











  • inside each VM (if linux) set the swapiness setting to ensure the VM's minimize memory swapping. If doesn't need a full VM consider using docker.

    – Matt
    yesterday








1




1





An option that is a good idea to have on any file system - noatime.

– chutz
Jun 19 '13 at 15:02





An option that is a good idea to have on any file system - noatime.

– chutz
Jun 19 '13 at 15:02













Yes, that's true and it's already enabled. These are the new options.

– viraptor
Jun 19 '13 at 15:17





Yes, that's true and it's already enabled. These are the new options.

– viraptor
Jun 19 '13 at 15:17













inside each VM (if linux) set the swapiness setting to ensure the VM's minimize memory swapping. If doesn't need a full VM consider using docker.

– Matt
yesterday






inside each VM (if linux) set the swapiness setting to ensure the VM's minimize memory swapping. If doesn't need a full VM consider using docker.

– Matt
yesterday











1 Answer
1






active

oldest

votes


















0














journal_async_commit, noauto_da_alloc, dioread_nolock. See ext4 documentation for descriptions.



Also nouser_xattr, noacl if you don't use them might give minor performance improvements on first lookups (but is not relevant unless you're using order of millions of files).



Note that using commit=3600 (while improving overall time for some operation due to batching) might not be doing what you want. When it triggers (probably much sooner than 3600, due to journal full conditions) you'll have BIG burst of I/O which would stop mostly anything running on the machine until it's finished (which could be minutes, depending on your journal sizes and I/O speeds). Smaller value will give you more but smaller bursts of metadata, so it would not look like machine "hanged". It might or might not be of issue for you.



If you do not want jounrnal, you might want to disable it completely - note that it might improve performance somewhat, but it also might make it worse:



tune2fs -O ^has_journal /dev/sdXX


Also, some specific loads (like creating and removing many small files in small timeframes, like SMTP mail queue of busy mail server for example) might paradoxically actually prefer data=journal to data=writeback (or even no journal at all) - as it will be using journal only (which is linear writes instead of random writes, hence MUCH faster on non-SSD storage).



But most importantly - you will have to benchmark to find which one suits you the best - there is no silver bullet.






share|improve this answer























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "2"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f516992%2fext4-cache-options-on-a-virtual-machine%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    journal_async_commit, noauto_da_alloc, dioread_nolock. See ext4 documentation for descriptions.



    Also nouser_xattr, noacl if you don't use them might give minor performance improvements on first lookups (but is not relevant unless you're using order of millions of files).



    Note that using commit=3600 (while improving overall time for some operation due to batching) might not be doing what you want. When it triggers (probably much sooner than 3600, due to journal full conditions) you'll have BIG burst of I/O which would stop mostly anything running on the machine until it's finished (which could be minutes, depending on your journal sizes and I/O speeds). Smaller value will give you more but smaller bursts of metadata, so it would not look like machine "hanged". It might or might not be of issue for you.



    If you do not want jounrnal, you might want to disable it completely - note that it might improve performance somewhat, but it also might make it worse:



    tune2fs -O ^has_journal /dev/sdXX


    Also, some specific loads (like creating and removing many small files in small timeframes, like SMTP mail queue of busy mail server for example) might paradoxically actually prefer data=journal to data=writeback (or even no journal at all) - as it will be using journal only (which is linear writes instead of random writes, hence MUCH faster on non-SSD storage).



    But most importantly - you will have to benchmark to find which one suits you the best - there is no silver bullet.






    share|improve this answer



























      0














      journal_async_commit, noauto_da_alloc, dioread_nolock. See ext4 documentation for descriptions.



      Also nouser_xattr, noacl if you don't use them might give minor performance improvements on first lookups (but is not relevant unless you're using order of millions of files).



      Note that using commit=3600 (while improving overall time for some operation due to batching) might not be doing what you want. When it triggers (probably much sooner than 3600, due to journal full conditions) you'll have BIG burst of I/O which would stop mostly anything running on the machine until it's finished (which could be minutes, depending on your journal sizes and I/O speeds). Smaller value will give you more but smaller bursts of metadata, so it would not look like machine "hanged". It might or might not be of issue for you.



      If you do not want jounrnal, you might want to disable it completely - note that it might improve performance somewhat, but it also might make it worse:



      tune2fs -O ^has_journal /dev/sdXX


      Also, some specific loads (like creating and removing many small files in small timeframes, like SMTP mail queue of busy mail server for example) might paradoxically actually prefer data=journal to data=writeback (or even no journal at all) - as it will be using journal only (which is linear writes instead of random writes, hence MUCH faster on non-SSD storage).



      But most importantly - you will have to benchmark to find which one suits you the best - there is no silver bullet.






      share|improve this answer

























        0












        0








        0







        journal_async_commit, noauto_da_alloc, dioread_nolock. See ext4 documentation for descriptions.



        Also nouser_xattr, noacl if you don't use them might give minor performance improvements on first lookups (but is not relevant unless you're using order of millions of files).



        Note that using commit=3600 (while improving overall time for some operation due to batching) might not be doing what you want. When it triggers (probably much sooner than 3600, due to journal full conditions) you'll have BIG burst of I/O which would stop mostly anything running on the machine until it's finished (which could be minutes, depending on your journal sizes and I/O speeds). Smaller value will give you more but smaller bursts of metadata, so it would not look like machine "hanged". It might or might not be of issue for you.



        If you do not want jounrnal, you might want to disable it completely - note that it might improve performance somewhat, but it also might make it worse:



        tune2fs -O ^has_journal /dev/sdXX


        Also, some specific loads (like creating and removing many small files in small timeframes, like SMTP mail queue of busy mail server for example) might paradoxically actually prefer data=journal to data=writeback (or even no journal at all) - as it will be using journal only (which is linear writes instead of random writes, hence MUCH faster on non-SSD storage).



        But most importantly - you will have to benchmark to find which one suits you the best - there is no silver bullet.






        share|improve this answer













        journal_async_commit, noauto_da_alloc, dioread_nolock. See ext4 documentation for descriptions.



        Also nouser_xattr, noacl if you don't use them might give minor performance improvements on first lookups (but is not relevant unless you're using order of millions of files).



        Note that using commit=3600 (while improving overall time for some operation due to batching) might not be doing what you want. When it triggers (probably much sooner than 3600, due to journal full conditions) you'll have BIG burst of I/O which would stop mostly anything running on the machine until it's finished (which could be minutes, depending on your journal sizes and I/O speeds). Smaller value will give you more but smaller bursts of metadata, so it would not look like machine "hanged". It might or might not be of issue for you.



        If you do not want jounrnal, you might want to disable it completely - note that it might improve performance somewhat, but it also might make it worse:



        tune2fs -O ^has_journal /dev/sdXX


        Also, some specific loads (like creating and removing many small files in small timeframes, like SMTP mail queue of busy mail server for example) might paradoxically actually prefer data=journal to data=writeback (or even no journal at all) - as it will be using journal only (which is linear writes instead of random writes, hence MUCH faster on non-SSD storage).



        But most importantly - you will have to benchmark to find which one suits you the best - there is no silver bullet.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Aug 6 '13 at 14:41









        Matija NalisMatija Nalis

        1,8711628




        1,8711628



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Server Fault!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f516992%2fext4-cache-options-on-a-virtual-machine%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

            Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

            What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company