特定のWordpressテーマを有効にすると、mySQLがクラッシュし続ける

特定のWordpressテーマを有効にすると、mySQLがクラッシュし続ける

素敵な人々です ;)

WordPress サイトの 1 つに新しいテーマを設定した後、サーバーに問題が発生しました。

最初は、mySQL が時々クラッシュしていましたが、だんだん頻繁になり、今ではどのページをクリックしても VPS サーバー全体がダウンします。SSH でログインすることすらできません。mySQL には新しい wordpress テーマで動作するための十分なメモリがないようです (はい、私にとっても奇妙に思えました)。

そこで、追加の SWAP ファイルを追加しました。現在は 1024 です。何も起こりません。VPS プランを 2048 MB RAM (512 ではなく) にアップグレードし、CPU を 2 倍にしました。何も起こりません。カーネルが原因かもしれないとどこかで聞きましたが... アドバイスが必要です。

これは一体何なのでしょう? mySQL 自体は問題なく動作します。ただ、この新しいテーマでは動作しません... もちろんテーマを変更することはできますが、1 つのテーマにこれほどのパワーがあるとは思えません... 何か他の原因があるに違いありません。

ここでエラー ログ ファイルとサーバー設定およびログ ファイルを投稿します。

サーバーは次のとおりです:

Linux 3.2.0-4-686-pae on i686
Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz, 2 cores

テーマが無効になっていて、開発段階であるためまだトラフィックがない場合、平均すると次のようになります。

CPU load averages   0.04 (1 min) 0.10 (5 mins) 0.17 (15 mins)
CPU usage   3% user, 0% kernel, 0% IO, 97% idle
Real memory 107.39 MB used, 1.98 GB total
Virtual memory  772 kB used, 1023.99 MB total
Local disk space    7.20 GB used, 59.06 GB total

テーマがオンのとき - APOCALIPSE ... :::

151010 10:53:22 mysqld_safe Number of processes running now: 0
151010 10:53:23 mysqld_safe mysqld restarted
2015-10-10 10:53:38 0 [Note] /usr/sbin/mysqld (mysqld 5.6.27) starting as process 6558 ...
2015-10-10 10:53:38 6558 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)

2015-10-10 10:53:38 6558 [Warning] Buffered warning: Changed limits: table_open_cache: 431 (requested 2000)

2015-10-10 10:53:38 6558 [Note] Plugin 'FEDERATED' is disabled.
2015-10-10 10:53:38 6558 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-10-10 10:53:38 6558 [Note] InnoDB: The InnoDB memory heap is disabled
2015-10-10 10:53:38 6558 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-10-10 10:53:38 6558 [Note] InnoDB: Memory barrier is not used
2015-10-10 10:53:38 6558 [Note] InnoDB: Compressed tables use zlib 1.2.7
2015-10-10 10:53:38 6558 [Note] InnoDB: Using Linux native AIO
2015-10-10 10:53:38 6558 [Note] InnoDB: Not using CPU crc32 instructions
2015-10-10 10:53:38 6558 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-10-10 10:53:38 6558 [Note] InnoDB: Completed initialization of buffer pool
2015-10-10 10:53:38 6558 [Note] InnoDB: Highest supported file format is Barracuda.
2015-10-10 10:53:38 6558 [Note] InnoDB: The log sequence numbers 1626007 and 1626007 in ibdata files do not match the log sequence number 58885888 in the ib_logfiles!
2015-10-10 10:53:38 6558 [Note] InnoDB: Database was not shutdown normally!
2015-10-10 10:53:38 6558 [Note] InnoDB: Starting crash recovery.
2015-10-10 10:53:38 6558 [Note] InnoDB: Reading tablespace information from the .ibd files...
2015-10-10 10:53:38 6558 [Note] InnoDB: Restoring possible half-written data pages
2015-10-10 10:53:38 6558 [Note] InnoDB: from the doublewrite buffer...
2015-10-10 10:53:38 6558 [Note] InnoDB: 128 rollback segment(s) are active.
2015-10-10 10:53:38 6558 [Note] InnoDB: Waiting for purge to start
2015-10-10 10:53:38 6558 [Note] InnoDB: 5.6.27 started; log sequence number 58885888
2015-10-10 10:53:38 6558 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
2015-10-10 10:53:38 6558 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
2015-10-10 10:53:38 6558 [Note] Server socket created on IP: '127.0.0.1'.
2015-10-10 10:53:38 6558 [Note] Event Scheduler: Loaded 0 events
2015-10-10 10:53:38 6558 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.6.27'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL)
Killed

少し前の syslog から:

Oct 10 10:53:19 151-248-121-240 kernel: [ 2204.772654] Out of memory: Kill process 6400 (mysqld) score 42 or sacrifice child
Oct 10 10:53:19 151-248-121-240 kernel: [ 2204.772677] Killed process 6400 (mysqld) total-vm:429384kB, anon-rss:78316kB, file-rss:0kB

どうもありがとうございます。

答え1

特定のテーマではデータベースへのクエリが多くなり、クエリが最適化されていない可能性があります。MySQL で低速クエリを有効にして、それらのクエリを確認する必要があります。

また、次のようなMYSQLチューナーを使用する必要があります。MySQL チューナー

関連情報