DokuWiki Search muito lento após a atualização

1

Eu atualizei minha versão dokuwiki no Ubuntu 14.04 "Detritus" para "Release 2018-04-22a" Greebo "" recentemente.

Durante a atualização, eu também tive que atualizar a versão do PHP para "5.6.36-1 + ubuntu14.04.1 + deb.sury.org + 1" (anteriormente 5.5).

O único problema que me resta após a atualização é que a pesquisa é muito lenta: demora cerca de 15 a 45 segundos para trazer os resultados da pesquisa, antes da atualização, isso foi instantâneo. O wiki também é bem pequeno, cerca de 1000 páginas.

Eu tentei reconstruir o índice, mas isso não parece mudar nada. Desativar addons, um por um, também não ajudou (achei que talvez fosse um plugin que retarda as coisas)

O que também notei é que um processo do Apache atinge 100% da CPU enquanto a pesquisa é executada e termina logo após a exibição dos resultados. Eu estou suspeitando que é a atualização do PHP que está causando pico de CPU, mas eu não posso identificar qual é o problema.

Alguém pode me indicar o que eu deveria estar investigando?

Apache 2.4 VirtualHost Config:

ServerAdmin [email protected]
    DocumentRoot /var/www/DokuWiki/public_html/
    ServerName wiki.xyz.com
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined

PHP.ini

engine = On
short_open_tag = Off
asp_tags = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = 17
disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
disable_classes =
zend.enable_gc = On
expose_php = On
max_execution_time = 300
max_input_time = 60
memory_limit = 512M
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
html_errors = On
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 200M
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
doc_root =
user_dir =
enable_dl = Off
file_uploads = On
upload_max_filesize = 200M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
[CLI Server]
cli_server.color = On
mail.add_x_header = On
sql.safe_mode = Off
bcmath.scale = 0

[Session]
session.save_handler = files
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 0
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = Off
session.bug_compat_warn = Off
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

tidy.clean_output = Off

[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
[sysvshm]

[ldap]
ldap.max_links = -1
    
por user2629636 13.07.2018 / 16:35

1 resposta

0

Ok, vendo suas respostas ao meu comentário, estou listando um tipo de lista de verificação:

(Re) instale todos os pacotes php necessários do Odrej Sury PPA, conforme recomendado por ele e remover os repositórios ou pacotes que você adicionou, se houver algum .

sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/php5-compat
sudo apt-get update
sudo apt-get dist-upgrade

Ele deve instalar as versões corretas do PHP no modo de compatibilidade. Em seguida, reinstale o módulo para o apache2, desative o módulo antigo e ative o novo:

sudo apt-get install libapache2-mod-php5.6
sudo a2dismod php5
sudo a2enmod php5.6
sudo service apache2 restart

E eu provavelmente atualizaria o Apache para usar o repo Ondrej também, como recomendado por ele no repositório PHP:

sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get update
sudo apt-get dist-upgrade

Verifique as versões do php disponíveis e a padrão:

update-alternatives --query php

Se o php5.6 não estiver definido como padrão, configure-o (ou remova o php5.5):

sudo update-alternatives --set php /usr/bin/php5.6
sudo update-alternatives --set php-config /usr/bin/php-config5.6
sudo update-alternatives --set phpdbg /usr/bin/phpdbg5.6
sudo update-alternatives --set phpize /usr/bin/phpize5.6

Confira o changelog de recursos e alterações de configuração , você fez uma versão GRANDE pular de 2015 para 2018, particularmente o ldap, gallery e ziplib muda)

Verifique as configurações do php.ini recomendadas para o Dokuwiki

Se puder, refaça o upgrade / install seguindo as etapas da página do DokuWiki .

E, finalmente, verifique seu virtualhost , ele deve (provavelmente) ter a configuração AllowOverride como ALL para que o arquivo .htaccess incluído no DokuWiki funcione.

ps. Esqueci de pedir o error.log e o access.log, pode ser fácil identificar o erro, mas refazer os passos da maneira certa é uma boa ideia de qualquer maneira.

    
por 20.07.2018 / 01:14