GLOBAL E SESSION

Olá bom dia, desculpe minha inexperiência, mais gostaria de saber como faço para ver o numero de variais globais no sistemas pois acho que utilizei um numero excessivo e isso que esta travando meus sistema.

Eu starto o apache e os usuários começam a utilizar o sistema, em determinado tempo o sistema começa a travar nas maquinas e só volta quando eu paro e inicio o apache novamente, creio que essas variáveis estão travando o sistema, isso é possível ?

Desde de já agradeço.

Boa tarde Jerrison.

Para ver quais (nomes) e valores das variáveis de sessão segue o código abaixo que realiza uma verificação (na sessão atual):
foreach( $_SESSION as $nome_var_sessao => $valor ){
echo $nome_var_sessao . ’ = ’ . $valor[0] . “”;
}

Você pode utilizar var_dump() para detalhar em cada iteração do loop.

E quanto ao Apache e variáveis de sessão um link com uma grande gama de informações sobre o assunto:
http://httpd.apache.org/docs/trunk/mod/mod_session.html

Talvez seja interessante verificar memory_limit no php.ini

Você teria a informação de quantos usuários utilizam este sistema simultaneamente?

Olá Eduardo, obrigado pela dica.

Atualmente tenho 18 pessoas online ao mesmo tempo no sistema.

memory_limit = 512M

Tenho um i5 4440 3.10 com 8 gb de ram, rodando IIS APACHE e SQL Server

Aqui temos um servidor Apache com centenas de usuários acessando.
No php.ini temos:
memory_limit = 1024M

Não creio que seja isto seu problema.
Parece ser algo relativo a problema de memória RAM … mas é puro palpite.

Então seria possível você verificar no Gerenciador de Tarefas em Desempenho as Estatísticas de CPU e principalmente de RAM no momento destas travadas ?
No Apache há o diretório logs.
Há nele arquivo(s) de erros.
Talvez a resposta esteja lá.

No meu caso eram problemas com php-cgi.exe que estava consumindo quase toda memória RAM.
No Gerenciador de Tarefas haviam dezenas destes processos php-cgi.exe quando travava o sistema.

Putz creio que seja isso, tem varios php-cgi

olha a imagem

http://jerrison.com.br/processos.png

No arquivo httpd.conf em NetMake\v9\components\apache\conf
Tem algumas diretivas do FastCGI com relação à quantidade de processos que o serviço pode executar.

Um exemplo para otimizar é:

DefaultInitEnv PHP_FCGI_CHILDREN 2
DefaultInitEnv PHP_FCGI_MAX_REQUESTS "300"

FcgidIOTimeout 1800
FcgidBusyTimeout 1800
FcgidConnectTimeout 1800
FcgidMaxRequestLen 1073741824
FcgidMaxRequestsPerProcess 100
FcgidOutputBufferSize 4000
FcgidProcessLifeTime 3600
FcgidIdleTimeout 300

Timeout 1024
KeepAlive On
KeepAliveTimeout 50
MaxKeepAliveRequests 500

Caso não exista alguma variável no arquivo httpd.conf do windows, ignorar e só alterar das que existe.
Se ainda assim ficar ruim, aconselho ler: https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
E alterar de acordo com a performance do servidor.

Olá Boa Tarde, as configurações estavam erradas, deixei conforme me orientou

ESTAVAM ASSIM

FcgidInitialEnv PHP_FCGI_CHILDREN “16”
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS “100000”

FcgidIOTimeout 1800
FcgidBusyTimeout 1800
FcgidConnectTimeout 1800
FcgidMaxRequestLen 1073741824
FcgidMaxRequestsPerProcess 10240
FcgidOutputBufferSize 20480
FcgidProcessLifeTime 3600

ALTEREI PARA ESSA:
FcgidInitialEnv PHP_FCGI_CHILDREN “2”
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS “300”

FcgidIOTimeout 1800
FcgidBusyTimeout 1800
FcgidConnectTimeout 1800
FcgidMaxRequestLen 1073741824
FcgidMaxRequestsPerProcess 100
FcgidOutputBufferSize 4000
FcgidProcessLifeTime 3600

Bom dia Jerrison.
Que bom que identificou!

E quanto as novas configurações do Apache que você aplicou baseadas na dica do Ronyan espero que tenham estabilizado seu ambiente.

Olá Eduardo, boa tarde, eu identifiquei porem não consigo solucionar, a ideia agora é colocar mais ram para ver se melhora.

Boa tarde.
Que pena :frowning:

Caso não tenha colocado mais RAM e queira tentar mais uma configuração…
Colocar no final do arquivo httpd.conf:

AcceptFilter http none
AcceptFilter https none
EnableMMAP off

Melhora a performance do Apache em ambiente Windows.