Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
sessao_locks [16/05/2017 11:02] Desenvolvimento S4SP |
sessao_locks [16/05/2017 11:49] (atual) Desenvolvimento S4SP |
||
---|---|---|---|
Linha 1: | Linha 1: | ||
====== Monitoramento de Sessões ====== | ====== Monitoramento de Sessões ====== | ||
- | A concorrência entre usuários tentando atualizar uma mesma informação pode as vezes gerar alertas de impossibilidade de reservas o registro que se pretende alterar. Essa situação ocorre somente no momento de gravar o registro e, normalmente, numa segunda tentativa, o usuário consegue efetivar suas alterações. Porém, em alguns casos, pode acorrer o que chamamos de "Lock" que nada mais é quando a sessão fica bloqueada na camada de banco de dados, mesmo depois de se interromper a aplicação (numa queda de energia, por exemplo). | + | A concorrência entre usuários tentando atualizar uma mesma informação pode as vezes gerar alertas de impossibilidade de reserva do registro que se pretende alterar. |
+ | |||
+ | Essa situação ocorre somente no momento de gravar o registro e, normalmente, numa segunda tentativa, o usuário consegue efetivar suas alterações. Porém, em alguns casos, pode acorrer o que chamamos de "Lock" que nada mais do que a sessão que fica bloqueada na camada de banco de dados, mesmo depois de se interromper a aplicação (numa queda de energia, por exemplo). | ||
Os alertas de locks são apresentados como uma mensagem com o número de tentativas para se reservar o registro a ser alterado (fig.0). | Os alertas de locks são apresentados como uma mensagem com o número de tentativas para se reservar o registro a ser alterado (fig.0). | ||
- | {{:erro_lock.jpg?500|fig.0}} | + | {{ :erro_lock.jpg |fig.0}} |
Figura.0 | Figura.0 | ||
Neste caso o sistema conta com um sistema de temporizadores que automaticamente desfazem o processo e eliminam o bloqueio (lock). O tempo deste processo pode variar dependendo do instante em que ocorre o lock e as vezes há a necessidade de se atuar de maneira mais rápida. Para tanto o S4SP conta com um Monitoramento de Sessões que permite, em alguns casos, eliminar as sessões concorrentes (fig.1). | Neste caso o sistema conta com um sistema de temporizadores que automaticamente desfazem o processo e eliminam o bloqueio (lock). O tempo deste processo pode variar dependendo do instante em que ocorre o lock e as vezes há a necessidade de se atuar de maneira mais rápida. Para tanto o S4SP conta com um Monitoramento de Sessões que permite, em alguns casos, eliminar as sessões concorrentes (fig.1). | ||
- | {{:menu_monitor.jpg?500|fig.1}} | + | {{ :menu_monitor.jpg |fig.1}} |
Figura.1 | Figura.1 | ||
Linha 17: | Linha 19: | ||
1. Bloqueio Recursivo (deadlocks) | 1. Bloqueio Recursivo (deadlocks) | ||
- | Este tipo de lock ocorrem quando um processo está tentando modificar uma informação que por sua vez faz um alteração em objetos dependentes deste mesmo processo. | + | Este tipo de lock ocorre quando um processo está tentando modificar uma informação que por sua vez faz um alteração em objetos dependentes deste mesmo processo. |
- | Este tipo mais raro é mais facilmente monitorado e consequentemente mais facilmente eliminado. Basta clicar no botão "Derrubar Sessão" (fig.2). | + | Este tipo mais raro, é mais facilmente monitorado e consequentemente mais facilmente eliminado. Basta clicar no botão "Derrubar Sessão" (fig.2). |
- | {{:deadlock.jpg?500|fig.2}} | + | {{ :deadlock.jpg |fig.2}} |
Figura.2 | Figura.2 | ||
Linha 26: | Linha 28: | ||
Este tipo mais comum de bloqueio ocorre quando 2 (duas) ou mais sessões de aplicação estão tentando atualizar um mesmo registro. | Este tipo mais comum de bloqueio ocorre quando 2 (duas) ou mais sessões de aplicação estão tentando atualizar um mesmo registro. | ||
- | Para eliminar esta concorrência é preciso "escolher" entre as sessões e eliminar aquela que pode NÃO estar em uso por algum tipo de falha (interrupção de comunicação, falta de energia, falha do browse, etc). | + | Para eliminar esta concorrência é preciso "escolher" entre as sessões e eliminar aquela que pode NÃO estar em uso por algum tipo de falha (interrupção de comunicação, falta de energia, falha do Browse, etc). |
No exemplo a seguir (fig.3), os usuários estão concorrendo entre si para atualizar o registro da Figura.2: | No exemplo a seguir (fig.3), os usuários estão concorrendo entre si para atualizar o registro da Figura.2: | ||
- | {{:sess_lock.jpg?500|fig.3}} | + | {{ :sess_lock.jpg |fig.3}} |
Figura.3 | Figura.3 | ||
+ | ===== Importante ===== | ||
+ | |||
+ | Como todo remédio, o uso excessivo desta aplicação pode se tornar um VENENO. Pois permite a quem tiver acesso a ela, através dos perfis, derrubar as sessões de forma indiscriminada, podendo causar transtornos a usabilidade do sistema. | ||
+ | A utilização desta aplicação, como qualquer outra, pode ser consultada através da aplicação "Consulta Acessos Por Usuário" (fig.4). | ||
+ | |||
+ | {{ :log_acesso.jpg |fig.4}} | ||
+ | Figura.4 | ||