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?
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
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.
add a comment |
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
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
add a comment |
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
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
virtualization performance ext4
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
add a comment |
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
add a comment |
1 Answer
1
active
oldest
votes
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.
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
answered Aug 6 '13 at 14:41
Matija NalisMatija Nalis
1,8711628
1,8711628
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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