PHP가 죽어가는 WordPress에 문제가 있습니다. 메모리를 늘 렸지만 PHP 프로세스가 100 % CPU 사용량으로 이동 한 다음 죽고 Apache에서 500 오류가 발생합니다.
Apache가 무언가를 기록하거나 PHP / MySQL이 오류를 기록하도록 시도했지만 일반적인 500 오류 외에는 아무것도 기록되지 않습니다.
500 문제는 다음과 같은 목록 페이지에 있습니다.
/wp-admin/edit.php?post_type=artist
다음과 같이 날짜 정렬을 추가하면 현재 WordPress에 1200 개가 넘는 아티스트 항목이 있습니다.
/wp-admin/edit.php?post_type=artist&orderby=date
그런 다음 목록이 훌륭하고 빠르게로드됩니다! 나는 앉아서 MySQL 쿼리 로그를보고 WordPress가 10 개 정도의 목록을 생성하기 위해 모든 단일 게시물 (모든 1200 개)에 대한 메타 데이터를로드하는 것으로 보입니다. 쿼리 중 하나에 대해서만 92000 행이 반환됩니다. 고급 사용자 정의 필드와 자체 프레임 워크가있는 템플릿을 사용하고 있으므로 각 게시물에는 상당한 양의 메타 데이터가 첨부되어 있습니다. PHP가 처리하기에는 너무 많은 데이터라고 생각하고 여기에 한계가 있습니다. 1200 년 게시물은 내년에 쉽게 두 배가 될 것입니다.
초기 페이지로드를 강제로 날짜 정렬을 추가하거나 모든 메타 데이터를로드 할 때 발생하는 문제를 해결하려면 어떻게해야합니까?
default-storage-engine=MyISAM innodb_file_per_table=1 max_allowed_packet=268435456 open_files_limit=10000 query_cache_size=64M log_slow_queries = 1 log-slow-queries=/var/log/mysql.slow.log log-error=/var/log/mysqld.log general_log_file = /var/log/mysql_general.log