특정 Wordpress 테마를 활성화하면 mySQL이 계속 충돌합니다.

특정 Wordpress 테마를 활성화하면 mySQL이 계속 충돌합니다.

좋은 사람들 ;)

내 WordPress 사이트 중 하나에 새 테마를 설정한 후 내 서버에 문제가 발생했습니다.

처음에는 mySQL이 가끔 충돌하기 시작했지만 점점 더 자주 발생하여 이제 아무 페이지나 클릭하면 전체 VPS 서버가 다운됩니다. SSH로 로그인할 수도 없습니다. mySQL에는 새로운 WordPress 테마를 사용할 수 있는 충분한 메모리가 없는 것 같습니다(예, 제게도 이상해 보였습니다).

그래서 추가 SWAP 파일을 추가했습니다. 이제 1024입니다. VPS 계획을 512 대신 2048MB RAM으로 업그레이드하고 CPU를 두 배로 늘린 것은 아무것도 없습니다. 아무것도 아님. 어디선가 커널일 수도 있다고 들었는데... 여기서는 여러분의 조언이 필요합니다.

이게 뭘까요? 자체 mySQL에서는 잘 작동합니다. 이 새로운 테마에는 적용할 수 없습니다... 물론 테마에 감사할 수는 있지만 하나의 테마가 그렇게 많은 힘을 가질 수 있을지 의심스럽습니다... 다른 것임에 틀림없습니다.

여기에 오류 로그 파일과 서버 설정 및 로그 파일을 게시합니다.

서버는 다음과 같습니다:

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 튜너.

관련 정보