Bom dia pessoal, estou com um problema relacionado ao desempenho do mysql, onde temos um sistema que roda no apache utilizando php. A ideia do sistema é importar arquivos texto jogando no mysql através de insert ou update conforme o caso do registro lido. Aí vem o problema, no servidor esta importação leva cerca de 18 min, enquanto que na minha máquina leva menos de 1 min. Para tentar descobrir o problema, verifiquei versões de dll, o httpd.conf, o php.ini e o my.ini, estão todos iguais, com alguma diferença que a memória destinada no my.ini está um pouco maior no servidor (porém é a máquina lenta). Como não achei o problema analisando os arquivos de configuração, fiz alguns testes para determinar se o problema era no php ou no mysql, então primeiramente removi do código fonte a comunicação com o banco de dados, aí as duas máquinas passaram a ter praticamente o mesmo tempo de execução, enquanto que se eu pegar 1000 updates para teste e executar diretamente pelo phpmyadmin ou outra ferramenta acontece a discrepância, onde no servidor leva quase 30 secs, na minha máquina não leva menos de um segundo. Considerando que o problema seja no mysql coloquei executar os mesmos 1000 updates e olhei o uso de processador, no meu pc chega até 25% (uso máximo considerando que tem 4 núcleos), enquanto que no servidor chega até uns 7%. Imaginei até que poderia ser problema de índice, mas como as duas bases de dados estão iguais, descartei essa possibilidade. Mais um dado estranho é que esse mesmo sistema roda em clientes, e até então que instalamos em 3 locais ocorrem esse mesmo problema de lentidão, então quase estou começando a pensar que tem algo instalado na minha máquina que melhora o desempenho, ao invés de ter algo no servidor que piora. Mas ainda não estou querendo aceitar isso. Como nunca passei por um problema similar e esgotei todas as possibilidades de testes e tentativas de resolução do problema estou pedindo ajuda de vocês. Estou utilizando a versão 5.1.50 do mysql, tentei instalar a 5.5.15 no servidor, mas ficou com o mesmo tempo de execução. Algumas considerações: - Configuração do servidor: * Core I3; * 4GB de memória; - Configuração da minha máquina: * Core I3; * 3GB de memória; my.ini do servidor: [client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir="C:/Program Files (x86)/MySQL/MySQL Server 5.1/"
datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/"
default-character-set=utf8
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=192M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=384M
key_buffer_size=175M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_additional_mem_pool_size=26M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=13M
innodb_buffer_pool_size=1218M
innodb_log_file_size=609M
innodb_thread_concurrency=10
lower_case_table_names=0