cifs mount retorna erro de entrada / saída na leitura freqüente do arquivo

1

Estou usando o ubuntu na máquina virtual vmware para testar meus projetos php. Eu tenho lá instalado nginx, php7.0-fpm, mysql.

Minhas ações estão localizadas no Windows 10 e montadas na máquina virtual usando cifs e fstab:

//192.168.100.1/projects  /mnt/projects cifs   credentials=/home/magic/.smbcredentials,cache=none,file_mode=0777,dir_mode=0777,noperm,rsize=16384,wsize=16384,noacl,sec=ntlm,nobrl  0 0

Funciona muito bem na maior parte do tempo. Mas no grande projeto, onde muitos arquivos têm que ser lidos para compilação, estou recebendo erro de entrada / saída durante a vida do script php:

Warning: include(/mnt/projects/magento2/magento2/vendor/magento/framework/Component/ComponentRegistrarInterface.php): failed to open stream: Input/output error in /mnt/projects/magento2/magento2/vendor/composer/ClassLoader.php on line 444

O erro que liga ao arquivo aleatório a cada vez. Geralmente o problema acontece quando há várias solicitações chegando ao php-fpm. por exemplo

  1. a primeira solicitação é compilar as fontes e ler os arquivos
  2. segunda iniciada em paralelo, o que significa que o php inicia o segundo processo onde pode ser lido os mesmos arquivos
  3. o processo de compilação falha em ambos os processos acima no estágio aleatório

O problema não acontece quando não há solicitações php concorrentes. Então, quando há apenas uma única solicitação - o php conclui com êxito o trabalho de compilação. (não frequentemente, mas no pedido único o erro também acontece)

Ele se comporta como o erro vindo do nível da rede. Algo matando o processo de leitura do arquivo quando uma nova solicitação de leitura de arquivo foi detectada.

Eu estava pesquisando a configuração do samba, a configuração do cifs. Atualizada para a versão mais recente do cifs-utils e do samba. Mas não obteve nenhum sucesso ainda.

Tudo o que eu consegui fazer foi limitar os processos php fpm para 1. O que não é uma boa decisão, porque mesmo com um filho - o erro acontece algum tempo.

Existe uma maneira de descobrir o que está causando isso ou resolver isso?

    
por Misha Medgitov 16.09.2017 / 11:20

0 respostas