Hello, I have been provided a muscular linux server to use as a Mysql server in our organization. The server is located just beside the web server and within the same network. This dedicated server has 8GB RAM, i5 processors and running mysql as service. No apache, php ..... nothing. All resources are dedicated to mysql only. Mysql version - mysql Ver 14.14 Distrib 5.1.49, for debian-linux-gnu (x86_64) The BIG hitch is; when we connect with this box the web sites become too slow. I have added the following at my.cnf under [mysqld] section ` ` ` ` ` skip_external_locking skip_name_resolve skip_host_cach ` ` ` ` ` ` The sql connection becomes little faster but still it is considerably slow; specially with such a muscular dedicated linx box just for Mysql. Is there anything else which I can add/configure to make the network latecy small or any such mechanism to make the query fast ?
I run the mysqltuner directly on the remote mysql server; and here is the result ``````````````````````````````````````````````````` -------- General Statistics -------------------------------------------------- [--] Skipped version check for MySQLTuner script [OK] Currently running supported MySQL version 5.1.49-3-log [OK] Operating on 64-bit architecture -------- Storage Engine Statistics ------------------------------------------- [--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster [--] Data in MyISAM tables: 1G (Tables: 4777) [--] Data in InnoDB tables: 3G (Tables: 5543) [--] Data in MEMORY tables: 0B (Tables: 136) [!!] Total fragmented tables: 5562 -------- Performance Metrics ------------------------------------------------- [--] Up for: 3d 23h 55m 27s (1M q [4.523 qps], 81K conn, TX: 23B, RX: 469M) [--] Reads / Writes: 74% / 26% [--] Total buffers: 2.2G global + 20.4M per thread (150 max threads) [OK] Maximum possible memory usage: 5.2G (66% of installed RAM) [OK] Slow queries: 2% (39K/1M) [OK] Highest usage of available connections: 18% (28/150) [OK] Key buffer size / total MyISAM indexes: 2.0G/268.5M [!!] Key buffer hit rate: 78.2% (5M cached / 1M reads) [OK] Query cache efficiency: 42.0% (327K cached / 778K selects) [!!] Query cache prunes per day: 1993 [OK] Sorts requiring temporary tables: 0% (48 temp sorts / 9K sorts) [!!] Temporary tables created on disk: 39% (91K on disk / 230K total) [OK] Thread cache hit rate: 99% (28 created / 81K connections) [!!] Table cache hit rate: 6% (16K open / 248K opened) [OK] Open file limit used: 36% (11K/32K) [OK] Table locks acquired immediately: 99% (695K immediate / 695K locks) [!!] InnoDB data size / buffer pool: 3.6G/8.0M -------- Recommendations ----------------------------------------------------- General recommendations: Run OPTIMIZE TABLE to defragment tables for better performance When making adjustments, make tmp_table_size/max_heap_table_size equal Reduce your SELECT DISTINCT queries without LIMIT clauses Increase table_cache gradually to avoid file descriptor limits Variables to adjust: query_cache_size (> 128M) tmp_table_size (> 100M) max_heap_table_size (> 100M) table_cache (> 16000) innodb_buffer_pool_size (>= 3G) ```````````````````````````````````````````````````` Please note, every day mysql optimization as well as repairing is done by a cron at night. I have also tried with the suggestion multiple times before but every time it gives some new suggestion. I have 8GB physical RAM in this server and here is some statistics ````````````````` # free -m total used free shared buffers cached Mem: 7986 7913 73 0 224 6133 -/+ buffers/cache: 1554 6431 Swap: 3813 0 3813 ````````````````````` And here is the vmstat result with 10 count and 5 sec delay ````````````````````````````` # vmstat 5 10 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 0 56328 230440 6299676 0 0 25 74 6 6 0 0 98 2 0 0 0 55700 230440 6299744 0 0 0 22 226 272 0 0 99 1 0 0 0 55964 230440 6299856 0 0 0 314 348 388 0 0 94 5 0 0 0 55452 230440 6299956 0 0 0 61 304 364 0 0 97 2 0 1 0 55592 230440 6300424 0 0 0 271 199 257 0 0 96 4 0 0 0 54584 230440 6300908 0 0 0 338 342 428 0 0 92 8 0 0 0 54800 230440 6301072 0 0 0 77 119 133 0 0 98 2 0 0 0 53964 230440 6301532 0 0 0 617 267 327 0 0 95 4 0 0 0 54468 230440 6301544 0 0 0 296 119 116 0 0 99 0 0 0 0 54212 230440 6301648 0 0 0 183 361 435 0 0 95 4 ````````````````````````` Is it possible to suggest something to tweak the server / mysql to get a fast remote mysql box ? Thanks -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql