All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingvar Bogdahn <ingvar.bogdahn@googlemail.com>
To: linux-btrfs@vger.kernel.org
Subject: CoW with webserver databases: innodb_file_per_table and dedicated tables for blobs?
Date: Mon, 15 Jun 2015 11:34:35 +0200	[thread overview]
Message-ID: <557E9C2B.9030404@gmail.com> (raw)

Hello there,

I'm planing to use btrfs for a medium-sized webserver. It is commonly 
recommended to set nodatacow for database files to avoid performance 
degradation. However, apparently nodatacow disables some of my main 
motivations of using btrfs : checksumming and (probably) incremental 
backups with send/receive (please correct me if I'm wrong on this). 
Also, the databases are among the most important data on my webserver, 
so it is particularly there that I would like those feature working.

My question is, are there strategies to avoid nodatacow of databases 
that are suitable and safe in a production server?
I thought about the following:
- in mysql/mariadb: setting "innodb_file_per_table" should avoid having 
few very big database files.
- in mysql/mariadb: adapting database schema to store blobs into 
dedicated tables.
- btrfs: set autodefrag or some cron job to regularly defrag only 
database fails to avoid performance degradation due to fragmentation
- turn on compression on either btrfs or mariadb

Is this likely to give me ok-ish performance? What other possibilities 
are there?

Thanks for your recommendations.

ingvar

             reply	other threads:[~2015-06-15  9:33 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-15  9:34 Ingvar Bogdahn [this message]
2015-06-15  9:57 ` CoW with webserver databases: innodb_file_per_table and dedicated tables for blobs? Hugo Mills
2015-06-16  7:06   ` Ingvar Bogdahn
2015-06-16  8:49     ` Fajar A. Nugraha
2015-06-16  9:32     ` Hugo Mills

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=557E9C2B.9030404@gmail.com \
    --to=ingvar.bogdahn@googlemail.com \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.