Pertanyaan dari mas Try yang jumlah memory usage bagi proses MySQL lumayan masif (hitungan puluhan GB!) menginspirasi saya bagi membangun artikel ini. Hakekatnya pada angka – angka pemakaian RAM server tersebut terdiri dari apa saja?
Sederhananya kita dapat memanfaatkan query SQL pun, dan apabila kita gunakan InnoDB selaku engine databasenya karenanya ada statistik yang dapat dibaca:
SHOW ENGINE INNODB STATUS
Hasilnya akan panjang sekali, tapi saya potong bagi bagian yang kita butuhkan saja yakni di BUFFER POOL AND MEMORY:
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 281542656; in additional pool allocated 0
Total memory allocated by read views 192
Internal hash tables (constant factor + variable factor)
Adaptive hash index 4479184 (4425832 + 53352)
Page hash 277432 (buffer pool 0 only)
Dictionary cache 1570108 (1107952 + 462156)
File system 851144 (812272 + 38872)
Lock system 665656 (664936 + 720)
Recovery system 0 (0 + 0)
Dictionary memory allocated 462156
Buffer pool size 16383
Buffer pool size, bytes 268419072
Free buffers 15753
Database pages 627
Old database pages 237
Modified db pages 0
Percent of dirty pages(LRU & free pages): 0.000
Max dirty pages percent: 75.000
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 556, created 71, written 18068
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
No buffer pool page gets since the last printout
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 627, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
Saya bukan ahli database jadi sama – sama meraba – raba nanti analisanya. ? Yang pasti pada VPS 512MB saya ternyata dialokasikan mencapai 256MB, walau tampaknya belum terpakai seluruh. Jadi calon memori maksimalnya sebesar itu.
Setelah itu mau diapakan? Ya.. dipandang pun boleh. ? Mungkin perlu optimasi dengan mysqltuner atau profiling mana yang perlu dioptimasikan, tapi bagi pembahasan advanced ya sama – sama awamnya. Hehe. ?
Cara ini berlaku bagi MySQL, MariaDB dan Percona.
Sumber https://servernesia.com