Eu tenho rodado um pequeno banco de dados (MySQL) com um "CMS" caseiro em uma caixa do Windows e me pediram para migrá-lo para um servidor legítimo (MS SQL Server) e um CMS melhor. Eu fiz o desenvolvimento do CMS no Drupal 8 contra o banco de dados MySQL.
Agora estou começando a instalar tudo no SQL Server e é MUITO lento. Eu estava executando o Apache2.4 e o PHP7.1, mas executando a versão segura do PHP7. Devo usar a versão sem fio? Um guia "Drupal no Windows" sugeriu algumas configurações para realpath e opcache:
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
realpath_cache_size=5M
realpath_cache_ttl=1800
Uma das instruções que segui foi instalar o wincache. No entanto, o wincache está disponível apenas para PHP não seguro para thread. Consegui contorná-lo comentando duas linhas de código que chamavam funções wincache e o Drupal instalou, mas bem devagar. A falta de wincache seria a fonte do meu problema de desempenho?
Eu baixei o PHP7, mod_fcgid para o Apache, e o wincache. Eu tenho tudo funcionando, mas ainda é lento. Existe uma maneira ideal de interface do Apache com o SQL Server? Quando digo devagar, quero dizer que uma instalação do módulo drupal está inserindo um registro por segundo. Minha configuração do MySQL estava fazendo 4000 registros por alguns segundos. eventualmente morrerá com o erro:
[fcgid:warn] [pid 2668:tid 940] (OS 109)The pipe has been ended. : [client ::1:56937] mod_fcgid: get overlap result error,
O servidor Mysql estava no mesmo laptop que o servidor Apache, enquanto este servidor SQL Server está a meio estado de distância.
Tags php sql-server apache-2.4 drupal8