Alguém saberia me dizer se tem como ou sabe fazer um script para forçar um reset no cache do navegador do cliente? Tipo quando acessar um form, no evento onload, sei lá
Tenho tido problemas quando muitos usuários acessam formulários que tem upload de arquivos, acaba misturando arquivos, aparecendo arquivos de outros usuários…
Meu php.ini e my.cnf estão todos configurações maximizadas e nada. Percebo que é algo relacionado à variáveis em cache no navegador.
Bem, já abri outros tópicos sobre problemas de uploads, via scriptcase já tentei de tudo. Estou usando no momento upload sem envio de arquivo para o servidor. Estou usando gravando no banco. Já mudei configurações no servidor (php.ini e my.cnf) e melhorou bastante em termos de desempenho.
Mas o problema acontece toda vez que existem, por exemplo, 50 usuários usando o sistema ou mais. Não são só os arquivos que misturam, informações também. Pelo que percebo, quando existe um usuário mandando um arquivo um pouco maior, como por exemplo, 20MB, ao terminar os arquivos misturam.
No caso de operacionalização de outros forms que nem tem campos de upload, percebo que ao utilizar o sistema por bastante tempo (por exemplo, umas duas ou tres horas), as informações as vezes aparecem trocadas.
A maioria dos meus forms estão dentro de uma aplicação de abas que antes de ser aberta, recebe uma variável gravada de um form de controle que seleciona um determinado projeto para gravar o id nessa variável. Ao carregar a aplicação do tipo aba, em cada form dentro dela, no sql utilizo uma cláusula where com o id do projeto que está na variável, ou seja, assim as informações mostradas são só daquele projeto, relacionado aquele login de usuário logado.
O sistema funciona perfeitamente, o problema só ocorre quando existe uma alto número de usuários utilizando o sistema ao mesmo tempo.
Não sei se o scriptcase não está se comportando bem em situações assim ou se ainda existe algo que posso configurar no servidor para resolver o problema
Quando mistura comigo utilizando, por exemplo, se eu limpar o cache e acessar novamente o sistema, a mistura de informações desaparece e o sistema volta a ficar normal.
Com certeza não é o SC. Reveja sua modelagem.
Quem controla as ID do seu banco é o SC ou auto incremento do banco?
essa variavel que vc pega como ID… o sc quem cria ? baseado em que ?
meu ERP é de uso critico… são em média 30 pessoas acessando areas distintas que geram informações em tabelas em comum e nao dá nenhum erro.
olha que em media executa umas 300 operações por minuto.
o log do sistema chega a gravar umas 30.000 a 50.000 operações por dia…
Bem, o id é autoincrement, tudo que pode ser feito pelo SGBD, deixo ele fazer.
O id na aplicação de controle é obtido através de um select (campo) na tabela de projetos, listando o nome dos projetos e gravando o id (chave primária) da tabela de projetos, ou seja, identificação única do projeto na tabela.
Então a aplicação de controle, após ser submetida , grava o id do projeto em uma variável global do SC. Todas as demais tabelas tem um campo “id_projeto”, como por exemplo, a tabela que armazena até cinco campos de arquivos (tipo long_blob). Esse id da variável global é usado no select das demais tabelas que tem registros vinculados a um id_projeto, para listarem, excluírem, atualizarem e inserirem apenas informações vinculadas aos seus projetos, ou seja, ao id_projeto da variável global.
No meu caso, como trabalho com um edital e todo mundo deixa pra fazer as coisas no último dia, tive mais de 100 usuários utilizando o sistema, meu log registrou 36.856 operações.
Já revisei a modelagem e fiz ajustes no servidor. Não sei se ainda tem algo de ajuste a fazer, já ajustei parâmetros na configuração do Mysql e do PHP.
O fato que a limpeza do cache do navegador, resolve o problema de misturar as coisas.
E mais uma vez, se eu tenho 30 usuários online, tudo ocorre normalmente. Quando o número de usuários aumenta, acima de 50 em diante e os usuários estão logados a bastante tempo, acima de 1h, e muitos enviando arquivos um pouco maior que 10MB… o problema ocorre.
Se fosse algum problema de modelagem do banco, o problema aconteceria com 30 usuários também.