MySQL tuning

When we’re looking at benchmarks we typically run some stable workload and we run it in isolation – nothing else is happening on the system. This is not however how things happen in real world when we have significant variance in the load and many things can be happening concurrently. It is very typical to hear complains about MySQL interactive performance – serving simple standard web traffic is drastically impacted when some heavy queries are ran in background or backup is done with mysqldump – a lot more than you would expect from simple resource competition. I finally found some time to look further in this problem and see what can be done to remedy it. We designed the benchmark the following way – there is a small table (200MB) which completely fits in the Innodb Buffer Pool (512MB).

Side load may massively impact your MySQL Performance

http://architects.dzone.com/articles/side-load-may-massively-impact

5 Ways to Boost MySQL Scalability | SQL Zone

There are a lot of scalability challenges we see with clients over and over. The list could easily include 20, 50 or even 100 items, but we shortened it down to the biggest five issues we see. 1. Tune those queries http://sql.dzone.com/news/5-ways-boost-mysql-scalability

Faudra que je jete un oeil à innodb_flush_log_at_trx_commit, je le connaissais pas celui la. by nicolas Aug 2

http://www.jroller.com/robwilliams/entry/finally_a_cure_for_crap

Rob Williams' Blog

Wednesday May 04, 2011 Finally, a Cure for Crap MySQL Performance on OS/X Was working away yesterday and one of the guys on our team was using our 8 core Mac Pro, and suddenly went ‘whoa…‘ (in a hushed tone). I was like ‘what?‘ He said ‘this query runs so fast on this machine.‘ Then he A/Bed it against his 15” mbp (this generation) and the 8 core was 10x faster on the same query. If you have run MySQL on a mac at all, you probably know that abysmal performance has been an issue for a LONG time.

Re: Lock issues with Table Partitioning

The problem is the locking it self, usually one only uses a couple of tables, i.e. lets say 10 table in a very big join. That results in 10 locks that first needs to be stored in the tables, and then they need to be sorted (MySQL's way to avoid deadlocks, by always locking in the same order). And then the locks need to be locked. But if we use two partitioned tables with 200 partitions each, that results in 400 locks which take much more time to sort and to lock (even if only inserting one row, or a simple 'select * where primary_key=1' query). http://forums.mysql.com/read.php?106,278885,281256
http://www.mysqlperformanceblog.com/2007/11/03/choosing-innodb_buffer_pool_size/

Choosing innodb_buffer_pool_size | MySQL Performance Blog

November 3, 2007 By Peter Zaitsev 39 Comments My last post about Innodb Performance Optimization got a lot of comments choosing proper innodb_buffer_pool_size and indeed I oversimplified things a bit too much, so let me write a bit better description. Innodb Buffer Pool is by far the most important option for Innodb Performance and it must be set correctly. I’ve seen a lot of clients which came through extreme sufferings leaving it at default value (8M). So if you have dedicated MySQL Box and you’re only using Innodb tables you will want to give all memory you do not need for other needs for Innodb Buffer Pool. This of course assumes your database is large so you need large buffer pool, if not – setting buffer pool a bit larger than your database size will be enough.

innodb_flush_method n'est pas spécifié dans notre conf. Je ferai bien un restart de DB2 en spécifiant sa valeur à O_DIRECT (pas possible de le setter dynamiquement). by nicolas Oct 30

mysql-log-filter - Google Code

http://code.google.com/p/mysql-log-filter/ min_rows_examined - ih , -- include - host - eh , -- exclude - host - iu , -- include - user - eu , -- exclude - user - iq , -- include - query -- date = date_first - date_last Include only queries between date_first ( and date_last ).
Optimiser une base de données sans aucune connaissance, c'est possible ! MySQLTuner est un script Perl qui effectue un audit basique de vos bases de données MySQL . Ce tableau de bord simplifié se termine par une liste d'optimisations du fichier de configuration de la base. Idéal pour les novices et simple et efficace pour dégrossir le travail pour les plus expérimentés. Ce script gère rapidement les optimisations simples d'une base MySQL.

MySQLTuner, r

http://www.webstrat.fr/blog/web-technology/mysqltuner-reglage-de-base-de-mysql-sans-competence