0

8GB RAM の MediaTemple DV4 サーバー上に Wordpress サイトを持っています。DB には 35,000 を超える投稿があり、ピーク時には、サイトには 300 から 400 の同時ユーザーがいます。ホームページは wp_posts テーブルに対して 6 つのクエリを実行します。

my.cnf ファイルの最適な設定についてアドバイスをいただけますか? ありがとう。

 query-cache-type = 1
 query-cache-size = 256M
 query_cache_limit = 1M
 thread_cache_size = 256
 max_connections = 350
 tmp_table_size=256M
 max_heap_table_size=256M
 table_cache= 1024
 join_buffer_size = 5M
 key_buffer_size = 512M
 wait_timeout = 60
 local-infile=0
 datadir=/var/lib/mysql
 socket=/var/lib/mysql/mysql.sock
 user=mysql
 # Disabling symbolic-links is recommended to prevent assorted security risks
 symbolic-links=0

MySQLTuner パフォーマンス メトリック:

 -------- Storage Engine Statistics -------------------------------------------
 [--] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster 
 [--] Data in MyISAM tables: 963M (Tables: 504)
 [--] Data in InnoDB tables: 4M (Tables: 198)
 [!!] Total fragmented tables: 218

 [--] Up for: 2d 18h 10m 22s (27M q [113.837 qps], 1M conn, TX: 489B, RX: 4B)
 [--] Reads / Writes: 97% / 3%
 [--] Total buffers: 1.4G global + 7.6M per thread (350 max threads)
 [OK] Maximum possible memory usage: 4.0G (42% of installed RAM)
 [OK] Slow queries: 0% (3K/27M)
 [!!] Highest connection usage: 86%  (301/350)
 [OK] Key buffer size / total MyISAM indexes: 128.0M/679.6M
 [OK] Key buffer hit rate: 100.0% (1B cached / 57K reads)
 [OK] Query cache efficiency: 67.8% (14M cached / 20M selects)
 [!!] Query cache prunes per day: 29253
 [OK] Sorts requiring temporary tables: 0% (1K temp sorts / 1M sorts)
 [!!] Temporary tables created on disk: 35% (688K on disk / 1M total)
 [OK] Thread cache hit rate: 99% (463 created / 1M connections)
 [OK] Table cache hit rate: 31% (1K open / 3K opened)
 [OK] Open file limit used: 42% (1K/2K)
 [OK] Table locks acquired immediately: 99% (7M immediate / 7M locks)
 [OK] InnoDB data size / buffer pool: 4.3M/32.0M
4

1 に答える 1

1

クエリのサイズを確認できるかもしれませんが、1Mが大きすぎて小さすぎる可能性がありますが、頻繁に実行されるクエリはキャッシュされません。

pt-query-digestは、それを行うための優れたツールです:http: //www.percona.com/doc/percona-toolkit/2.1/pt-query-digest.html

一般的なヒントについては、次を使用できます。http: //mysqltuner.pl は単なる一般的なアドバイスであるため、目隠しをしないでください。ただし、通常、スクリプトの出力はMySqlを最適化する際の良いスタートです。

key_buffer_sizeは、MyISAMテーブルを使用している場合にのみ関連します(使用しないでください!)。

データベースをInnoDBでスムーズに実行したい場合は、innodb_buffer_pool_sizeを実際のデータベースサイズよりも大きくします(可能な場合)

于 2012-10-08T16:04:18.537 に答える