Wordpress com uma grande base de Dados

1. Wordpress com uma grande base de Dados

Rafael Henrique
CrashRM

(usa CentOS)

Enviado em 16/10/2019 - 14:26h

lá, preciso de ajuda e acredito que esse fórum possa ser uma luz.

Estou com um projeto de um site que irá exibir informações de empresas, pois bem, ele foi feito em wordpress e utilizo o plugin wp all import para poder subir esses dados para o site via arquivo csv.
Estava tudo funcionando bem, mas, conforme a base de dados foi subindo o site foi ficando lento e agora por várias vezes ele apresenta erro 500 (Internal Server Error Sorry, something went wrong) ao realizar buscas no site.

Ao subir o arquivo csv, para cada linha do arquivo o plugin cria uma postagem nova no wordpress com as informações das colunas, ao total eu teria que subir 20 milhões de linhas e cada linha contem 27 colunas que são adicionadas como informações no post.


O problema do erro 500 começou acontecer quando cheguei a um pouco mais de 1 milhão de empresas cadastradas.



Não sou profissional no assunto, tudo que fiz foi através de pesquisas e estudos em sites e fóruns, então pode ser que tenha configurado algo errado ou o servidor é que não é o ideal... eis que minhas dúvidas são:

- Preciso de um servidor melhor ou esse comporta?
- A configuração do meu mysql (my.cnf) ou php.ini estão incorretas?
- Devo colocar o banco de dados em um servidor específico?
- O que devo fazer?

Segue as informações:
Servidor: https://www.ovh.pt/vps/vps-cloud-ram.xml
VPS Cloud RAM 2
2 vCore(s); 2 GHz; 12 GB RAM; 50 GB SSD
- Linux Ubuntu 16, php 7.3
- Vestacp

My.cnf
[client]
port=3306
socket=/var/run/mysqld/mysqld.sock

[mysqld_safe]
socket=/var/run/mysqld/mysqld.sock

[mysqld]
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
port=3306
basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp
lc-messages-dir=/usr/share/mysql
log_error=/var/log/mysql/error.log

symbolic-links=0

skip-external-locking
key_buffer_size = 4000M
max_allowed_packet = 64M
table_open_cache = 4096
sort_buffer_size = 64M
read_buffer_size = 64M
read_rnd_buffer_size = 128M
myisam_sort_buffer_size = 128M
thread_cache_size = 64
query_cache_size= 624M

#innodb_use_native_aio = 0
innodb_file_per_table
innodb_buffer_pool_size = 8000M

max_connections=120
max_user_connections=30
wait_timeout=28800
interactive_timeout=58800
long_query_time=5

!includedir /etc/mysql/conf.d/


php.ini

[PHP]

engine = On

short_open_tag = On

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_wifcontinued,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 = Off

max_execution_time = 300
max_input_time = -1
memory_limit = 2000M

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 = 1000M

auto_prepend_file =

auto_append_file =

file_uploads = On
upload_max_filesize = 50M
max_file_uploads = 20

allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60

pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=

sql.safe_mode = Off

odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1

ibase.allow_persistent = 1
ibase.max_persistent = -1
ibase.max_links = -1

ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
ibase.dateformat = "%Y-%m-%d"
ibase.timeformat = "%H:%M:%S"

[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.cache_size = 2000
mysqli.default_port = 3306

mysqli.reconnect = Off

mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off


Espero que alguém possa me dar uma luz para resolver esse problema.
Desde já obrigado


  


2. Re: Wordpress com uma grande base de Dados

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 17/10/2019 - 09:37h


opa , não seria melhor importar direto o arquivo cvs para o banco ?

http://www.mysqltutorial.org/import-csv-file-mysql-table/


3. Re: Wordpress com uma grande base de Dados

Rafael Henrique
CrashRM

(usa CentOS)

Enviado em 17/10/2019 - 16:10h

danniel-lara escreveu:


opa , não seria melhor importar direto o arquivo cvs para o banco ?

http://www.mysqltutorial.org/import-csv-file-mysql-table/


Olá Danniel, obrigado pela mensagem
É que o plugin utilizado processa as informações do CSV e exibe de forma organizada através dos posts, criando tópicos para cada informação do CSV nas postagens, ele também faz o SEO para facilitar o Google encontrar as informações do site. Pela minha limitação em programação, não sei como conseguiria exibir essas informações em um site de forma adequada, subindo tudo diretamente para o banco.

A importação nem é o problema, o problema é que o site ficou lento com a quantidade de informação cadastrada no banco (aí preciso saber se é uma questão de configuração do my.cnf ou php.ini, ou se preciso de um servidor melhor), acredito que mesmo subindo diretamente para o banco, o problema dessa lentidão seria o mesmo, ou não?!









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts