Na het afstruinen van vele sites ben ik er nog nit uitgekomen: onze MySQL 5.5 server op Centos 6.3 x64 schrijft veel meer weg dan dat er wordt gelezen. Terwijl ik gezien het gebruikspatroon (m.n. het 'gebruiken' van de data in de applicate DB's, niet toevoegen van nieuwe data) juist andersom zou verwachten. Door deze constante 'druk' op de harde schijven vallen de prestaties mij wat tegen bij wat zwaarder gebruik.
Hieronder een weergave van een 'iostat -d 5 vda' op een rustig moment (maandagavond 22:30):
de relevante configuratie in my.cnf ziet er als volgt uit:
Grofweg is de verhouding schrijven:lezen 3:1, terwijll ik eerder 1:5 verwacht.
Heeft iemand een idee hoe ik dit kan aanpakken, of nog beter, kan oplossen?
Hieronder een weergave van een 'iostat -d 5 vda' op een rustig moment (maandagavond 22:30):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn vda 3.20 0.00 27.20 0 136 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn vda 20.20 0.00 371.20 0 1856 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn vda 3.40 1.60 27.20 8 136 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn vda 17.60 0.00 684.80 0 3424 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn vda 2.40 0.00 19.20 0 96 |
de relevante configuratie in my.cnf ziet er als volgt uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| # i/o settings innodb_io_capacity = 400 innodb_read_io_threads = 8 innodb_write_io_threads = 8 # Cache settings key_buffer_size = 1M query_cache_type = 0 query_cache_size = 0M query_cache_limit = 0M table_open_cache = 3072 table_definition_cache = 1536 thread_cache_size = 32 # Per thread buffers read_buffer_size = 1M read_rnd_buffer_size = 2M sort_buffer_size = 1M join_buffer_size = 2M # Temp tables max_heap_table_size = 192M tmp_table_size = 192M # InnoDB innodb_buffer_pool_size = 1900M innodb_additional_mem_pool_size = 16M innodb_log_file_size = 128M innodb_log_buffer_size = 8M innodb_flush_method = O_DIRECT transaction_isolation = READ-COMMITTED innodb_autoinc_lock_mode = 1 |
Grofweg is de verhouding schrijven:lezen 3:1, terwijll ik eerder 1:5 verwacht.
Heeft iemand een idee hoe ik dit kan aanpakken, of nog beter, kan oplossen?