conexão remota do MySQL lenta

2

Como o tráfego continua crescendo no meu e-commerce (PrestaShop) e a navegação começa a ficar lenta, decidi, depois de ler muitos posts aqui, separar meu servidor web do meu servidor de banco de dados. Eu configurei uma conexão remota do MySQL. Ambos os servidores estão no mesmo datacenter e têm menos de 1 ms de ping entre si.

Quando eu alterno DB para o novo servidor remoto, tudo é extremamente lento,

Eu fiz skip-name-resolve na configuração my.cnf, mas nada perceptível mudou em tudo. qualquer ação no site leva mais de 10 segundos para carregar

O que estou perdendo? É por causa do PrestaShop? Como posso melhorar a disponibilidade do meu servidor? Devo apenas carregar o balanceador entre servidores com web e banco de dados na mesma caixa?

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

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

[mysqld]
#
# * Basic Settings
#
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
skip-external-locking
#skip_name_resolve
skip-name-resolve
#bind-address            = 127.0.0.1
#
# * Fine Tuning
#
key_buffer              = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8

myisam-recover         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 16M

#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1

log_error = /var/log/mysql/error.log

#slow_query_log_file = /var/log/mysql/mysql-slow.log
#slow_query_log      = 1
#long_query_time = 2
#log_queries_not_using_indexes

#server-id              = 1
#log_bin                        = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size         = 100M
#binlog_do_db           = include_database_name
#binlog_ignore_db       = include_database_name

# chroot = /var/lib/mysql/

# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem

[mysqldump]
quick
quote-names
max_allowed_packet      = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer              = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

Eu não estou recebendo nenhuma perda de pacotes entre os servidores.

Como eu poderia investigar e encontrar as causas dessa lentidão?

Meus servidores tanto no Debian 8:
CPU: Intel 2x Xeon E5-2630v3 - 16c / 32t - 2,4GHz / 3,2GHz
RAM: 128Go DDR4 ECC 1866 MHz
Disques: SoftRaid 2x2To SSD

    
por Chris 10.10.2018 / 13:29

3 respostas

0

Tente executar uma consulta MySQL manualmente a partir do seu servidor de aplicativos para o servidor de banco de dados com o comando mysql e determine como será necessário para executá-la:

  • %código%

Além disso, verifique se não há limitações, como as regras de firewall para o limite de taxa de rede.

    
por 10.10.2018 / 14:01
0

Primeiro, verifique as configurações, se tiver certeza de que não há gargalos de rede.

Se o segundo servidor for uma nova instalação, talvez ninguém ajuste as configurações neste servidor.

Secundário, você pode obter bons resultados se tiver separado o tráfego.

Como exemplo:

  • interfaceA do servidor da web conectado diretamente à interface do servidor de banco de dados

  • interfaceB do servidor da web usado para processar solicitações da web

por 10.10.2018 / 14:12
0

Não há uma resposta clara à sua pergunta, pois não há informações suficientes. No entanto, em vez de focar na rede como a causa raiz do seu problema, prefiro investigar a configuração do MySQL no novo servidor. Geralmente, é em /etc/mysql/my.cnf (ou similar). Compare as duas versões da instalação antiga e a nova. Talvez você precise aumentar o pool de conexão ou algo assim?

    
por 10.10.2018 / 14:27