WordPress recuperando metadados para todos os tipos de postagem personalizados na exibição de lista

9

Estou tendo um problema no WordPress em que o PHP está morrendo. Aumentei a memória, mas o processo PHP salta para 100% de uso da CPU e o Apache gera um erro de 500.

Eu tentei fazer o Apache registrar algo, ou PHP / MySQL para registrar um erro, mas nada é registrado além de um erro geral de 500.

A edição 500 está na página da lista, por exemplo:

/wp-admin/edit.php?post_type=artist

Atualmente, temos mais de 1200 entradas de artistas no WordPress, se eu anexar uma data como esta:

/wp-admin/edit.php?post_type=artist&orderby=date

Então a lista carrega bem, rápido mesmo! Eu assisti o registro de consultas do MySQL e parece que o WordPress está carregando os metadados para cada post (todos os 1200) para produzir a lista de 10 ou mais. Para apenas uma das consultas, retornam 92000 linhas. Estou usando campos personalizados avançados e um modelo com sua própria estrutura, para que cada post tenha uma boa porção de metadados anexados. Estou pensando que esses dados são muitos para o PHP processar e estou atingindo um limite aqui. É provável que os 1200 postos de trabalho dobrem facilmente no próximo ano.

Como forçar o carregamento da página inicial a acrescentar a classificação da data ou corrigir o problema com o carregamento de todos esses metadados?

Paul Cullen
fonte
Você já tentou desativar o ACF e outros plugins? Acho que já tive um problema semelhante e acho que o culpado aqui não é o próprio WP, mas o ACF. por exemplo, o ACF adiciona metadados às revisões e carrega tudo isso também. Certifique-se de qual é a fonte desse problema, pois isso ajudará outras pessoas a ajudá-lo.
Kraftner
Hey, o @kraftner ive desativou o ACF e isso não fez nenhuma diferença.
Paul Cullen
Quanta memória você está usando no wp-config (WP_MAX_MEMORY_LIMIT)? Qual é o seu valor PHP.INI para memory_limit? Tente aumentá-los ao máximo. Além disso, eu daria uma olhada no seu arquivo de configuração mysql.
Emanuel Rocha Costa
Aumentei o PHP e o WP_MAX_MEMORY_LIMIT para 512 temporariamente, sem efeito. Meu arquivo de configuração do mysql é: 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
Paul Cullen
11
o tipo de postagem personalizado "artista" é hierárquico (como páginas)? .. nesse caso, esse pode ser o culpado, pois todas as postagens serão consultadas no painel do administrador. Se o seu aplicativo permite que você pode tentar mudar hierárquica para false para o "artista" CPT e ver se que alivia os problemas de memória
Locomo

Respostas:

1

Tente alterar hierárquico: false na sua definição de CPT (se o seu aplicativo permitir).

Quando os CPTs são definidos como hierárquicos: true, todas as postagens serão consultadas no painel do administrador, o que pode causar problemas de memória.

locomo
fonte
0

O problema era que o CPT estava definido como hierárquico, alternando para hierárquico: false no functions.php resolveu o problema.

Paul Cullen
fonte
11
Aceite sua própria resposta, para que esta pergunta possa ser encerrada.
Cjbj