MySQL can be quite a resource hog, especially on LEBs. Therefore I am trying to tune it for performance using MySQL Tuner (https://raw.github.com/rackerhacker/MySQLTuner-perl/master/mysqltuner.pl)
I ran it, and here's my output:
` -------- Performance Metrics ------------------------------------------------- [--] Up for: 10h 22m 1s (1M q [33.104 qps], 259 conn, TX: 182M, RX: 184M) [--] Reads / Writes: 67% / 33% [--] Total buffers: 48.0M global + 2.7M per thread (100 max threads) [OK] Maximum possible memory usage: 316.8M (64% of installed RAM) [OK] Slow queries: 0% (0/1M) [OK] Highest usage of available connections: 2% (2/100) [OK] Key buffer size / total MyISAM indexes: 16.0M/31.7M [OK] Key buffer hit rate: 95.7% (65M cached / 2M reads) [!!] Query cache efficiency: 3.5% (29K cached / 838K selects) [!!] Query cache prunes per day: 709028 [OK] Sorts requiring temporary tables: 0% (88 temp sorts / 412K sorts) [!!] Joins performed without indexes: 321 [OK] Temporary tables created on disk: 0% (132 on disk / 412K total) [OK] Thread cache hit rate: 99% (2 created / 259 connections) [!!] Table cache hit rate: 2% (32 open / 1K opened) [OK] Open file limit used: 6% (63/1K) [OK] Table locks acquired immediately: 100% (1M immediate / 1M locks)
-------- Recommendations ----------------------------------------------------- General recommendations: Run OPTIMIZE TABLE to defragment tables for better performance MySQL started within last 24 hours - recommendations may be inaccurate Enable the slow query log to troubleshoot bad queries Adjust your join queries to always utilize indexes Increase table_cache gradually to avoid file descriptor limits Variables to adjust: query_cache_limit (> 1M, or use smaller result sets) query_cache_size (> 16M) join_buffer_size (> 128.0K, or always use indexes with joins) table_cache (> 32)
`
Variables to adjust only says to increase my current variables. But to what should I increase them? Everything times 2 or what?
Thanks!