Histórico da Página
Informações | ||
---|---|---|
| ||
Clientes Cloud, é necessário entrar em contato com o time de Cloud para que os procedimentos sejam realizados. |
Índice
Índice | ||||
---|---|---|---|---|
|
Objetivos
...
Problemas de lentidão no TOTVS Fluig Plataforma podem acontecer por diversos motivos, por isso, reunimos alguns métodos e ações que podem auxiliar o usuário administrador do ambiente a reduzir ou sanar a lentidão.
Pré-requisitos
...
- O ambiente do usuário deve estar de acordo com Servidores respeitando o Modelo de dimensionamento.
- O ambiente do usuário deve seguir Plataforma de acordo com os padrões descritos na da Matriz de portabilidadePortabilidade.
- O ambiente deve seguir Ambiente em consonância com os ciclos de Atualização da plataforma.
- Conferir outras Especificações Técnicas necessárias.
- Conhecimento prévio referente as documentações: Avaliação de lentidão na plataforma e Performance e análise do servidor.
...
01. Executar as consultas abaixo no banco de dados e enviar os resultados em prints ou formato .csv para a equipe de Suporte Fluig. Para isso, é necessária a abertura de um ticket no Portal do Cliente: na Central de Atendimento, através das opções: Nova Solicitação → Suporte Técnico.
Bloco de código | ||
---|---|---|
| ||
select COD_DATASET from serv_dataset where DSL_DATASET like '%FluigDS%'; select nr_documento, COD_EVENT from event_ficha where DSL_EVENT like '%FluigDS%'; select COD_EVENT from event_geral where DSL_EVENT like '%FluigDS%'; select event_proces.COD_DEF_PROCES, COD_EVENT from event_proces where DSL_EVENT like '%FluigDS%'; |
...
01. Os arquivos de instalação abaixo são os mais solicitados pela equipe Suporte Fluig. Caso seja necessário, realize a abertura de um ticket no Portal do Cliente, na Central de Atendimento, através das opções: Nova Solicitação → Suporte Técnico e anexe esses arquivos ao chamado, pois agilizará bastante . Essa ação agilizará todo o processo de atendimento:
...
a) Sincronização de datasets levando mais tempo que o tolerável para finalizar as sincronizações. No exemplo, os datasets estão sincronizando por mais de 2500 segundos:
Bloco de código | ||||
---|---|---|---|---|
| ||||
2023-05-29 10:42:00,740 WARN com.fluig.monitoring.jschronos.JSChronos DatasetMetaListServiceBean.datasetSync executou por 2520 segundos 2023-05-29 10:42:00,740 INFO com.fluig.bpm.service.DatasetMetaListServiceBean Fim da sincronização do Dataset : dsFuncionario 2023-05-29 11:08:39,167 WARN com.fluig.monitoring.jschronos.JSChronos DatasetMetaListServiceBean.datasetSync executou por 2318 segundos 2023-05-29 11:08:39,168 INFO com.fluig.bpm.service.DatasetMetaListServiceBean Fim da sincronização do Dataset : dsEmpresas |
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
2022-11-23 15:59:03,511 WARN [com.fluig.monitoring.jschronos.JSChronos] (JSChronos.CustomizationManagerImpl.invokeFunction.createDataset) CustomizationManagerImpl.invokeFunction.createDataset ja esta sendo executado por 2211 segundos params: [[[Ljava.lang.String;@268d1e17, null, null], Thread = default task-6727, datasetId = dsDatabase] 2.211 segundos 2022-11-24 08:51:22,088 WARN [com.fluig.monitoring.jschronos.JSChronos] (JSChronos.CustomizationManagerImpl.invokeFunction.createDataset) CustomizationManagerImpl.invokeFunction.createDataset ja esta sendo executado por 60 segundos params: [[[Ljava.lang.String;@7cec0760, [Lcom.totvs.technology.foundation.dataset.SearchConstraint;@64de871c, null], Thread = default task-35, datasetId = dsChecklistCRUD] 2023-02-14 09:17:47,722 WARN [com.fluig.monitoring.jschronos.JSChronos] (JSChronos.CustomizationManagerImpl.invokeFunction.createDataset) CustomizationManagerImpl.invokeFunction.createDataset ja esta sendo executado por 300 segundos params: [[null, [Lcom.totvs.technology.foundation.dataset.SearchConstraint;@67eb8082, null], Thread = default task-389, datasetId = ds_sql_update] 2023-02-14 09:17:56,587 WARN [com.fluig.monitoring.jschronos.JSChronos] (JSChronos.CustomizationManagerImpl.invokeFunction.servicetask64) CustomizationManagerImpl.invokeFunction.servicetask64 ja esta sendo executado por 120 segundos params: [[Process id = alteracao_de_preco, Process Version = 23, Process Current UserId = brunousuario.vieirauser], Thread = default task-413, datasetId = workflowColleagueRole] |
...
c) Os termos "invokeFunction.servicetask64"e "invokeFunction.createDataset",geralmente, possuem relação com datasets de Workflow (Processos):
Bloco de código | ||||
---|---|---|---|---|
| ||||
2023-02-14 08:39:38,114 WARN [com.fluig.monitoring.jschronos.JSChronos] (default task-323) CustomizationManagerImpl.invokeFunction.servicetask64 executou por 565 segundos 2023-02-14 08:39:38,114 WARN [com.fluig.monitoring.jschronos.JSChronos] (default task-323) params: [[Process id = alteracao_de_preco, Process Version = 23, Process Current UserId = brunousuario.vieirauser], Thread = default task-323, datasetId = workflowColleagueRole] |
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
2023-05-29 09:30:53,414 WARN [com.fluig.monitoring.jschronos.JSChronos] (default task-39) CustomizationManagerImpl.invokeFunction.createDataset executou por 32 segundos 2023-05-29 09:30:53,414 WARN [com.fluig.monitoring.jschronos.JSChronos] (default task-39) params: [[[Ljava.lang.String;@6c45e716, [Lcom.totvs.technology.foundation.dataset.SearchConstraint;@a1b6a73, null], Thread = default task-39, datasetId = ds_RMConsulta] 2023-05-29 09:30:53,437 WARN [com.fluig.monitoring.jschronos.JSChronos] (default task-39) DatasetFactory.getDataset.ds_RMConsulta executou por 32 segundos 2023-05-29 09:30:53,437 WARN [com.fluig.monitoring.jschronos.JSChronos] (default task-39) params: [[TBC012.05, 1, T], [FIELD_NAME=COLIGADA; INITIAL_VALUE=1; FINAL_VALUE=1; CONSTRAINT_TYPE=MUST; IS_LIKE_SEARCH=false; ], null] 2023-05-29 09:31:24,672 INFO [com.datasul.technology.webdesk.dataset.business.DatasetBO] (default task-39) Executando Dataset com ID ds_RMConsulta do tipo Avançado. 2023-05-29 09:31:24,672 INFO [com.datasul.technology.webdesk.dataset.business.DatasetBO] (default task-39) Builder rodando sem o mobile 2023-05-29 09:31:24,719 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-39) uf-log | Chamada do DataSet ds_RMConsulta 2023-05-29 09:31:24,734 INFO [com.datasul.technology.webdesk.dataset.business.DatasetBO] (default task-39) Executando Dataset com ID ds_RMConecta do tipo Avançado. 2023-05-29 09:31:24,735 INFO [com.datasul.technology.webdesk.dataset.business.DatasetBO] (default task-39) Builder rodando sem o mobile 2023-05-29 09:31:24,786 INFO [org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean] (default task-39) Creating Service {http://www.totvs.com/}wsConsultaSQL from WSDL: http://peg54p-prd-ws.totvscloud.com.br:8083/wsConsultaSQL/MEX?wsdl 2023-05-29 09:31:24,800 WARNING [org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean] (default task-39) No method was found for the WSDL operation {http://www.totvs.com/}RealizarConsultaSQLContexto. 2023-05-29 09:31:24,805 INFO [org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean] (default task-39) Creating Service {http://www.totvs.com/}IwsConsultaSQLService from class com.totvs.IwsConsultaSQL 2023-05-29 09:31:24,812 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-39) uf-log | Dados da chamada ao serviço wsConsultaSQL: 2023-05-29 09:31:24,812 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-39) uf-log | CODSENTECA: TBC012.03 2023-05-29 09:31:24,812 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-39) uf-log | CODCOLIGADA: 1 2023-05-29 09:31:24,812 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-39) uf-log | APLICACAO: T 2023-05-29 09:31:24,812 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-39) uf-log | PARAMETRO: 2023-05-29 09:31:24,922 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-39) uf-log | Chamada realizada com sucesso. 2023-05-29 09:31:24,923 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-39) uf-log | Quantidade de registros retornados: 57 |
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
<datasources> <datasource jta="true" jndi-name="java:/jdbc/FluigDS" pool-name="FluigDS" enabled="true" use-java-context="false"> <connection-url>jdbc:mysql://localhost:3306/fluig_mysql?useSSL=false&nullDatabaseMeansCurrent=true</connection-url> <driver>mysqlDriver</driver> <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> <pool> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> </pool> <security> <user-name>admin</user-name> <password>admin</password> </security> <validation> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/> <validate-on-match>true</validate-on-match> <background-validation>false</background-validation> </validation> <statement> <share-prepared-statements>false</share-prepared-statements> </statement> </datasource> <datasource jta="false" jndi-name="java:/jdbc/FluigDSRO" pool-name="FluigDSRO" enabled="true" use-java-context="false"> <connection-url>jdbc:mysql://localhost:3306/fluig_mysql?useSSL=false&nullDatabaseMeansCurrent=true</connection-url> <driver>mysqlDriver</driver> <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> <pool> <min-pool-size>5</min-pool-size> <max-pool-size>50</max-pool-size> </pool> <security> <user-name>admin</user-name> <password>admin</password> </security> <validation> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/> <validate-on-match>true</validate-on-match> <background-validation>false</background-validation> </validation> <timeout> <blocking-timeout-millis>30000</blocking-timeout-millis> </timeout> <statement> <share-prepared-statements>false</share-prepared-statements> </statement> </datasource> <datasource jta="false" jndi-name="java:/jdbc/AppDS" pool-name="AppDS" enabled="true" use-java-context="false"> <connection-url>jdbc:mysql://localhost:3306/fluig_mysql?useSSL=false&nullDatabaseMeansCurrent=true</connection-url> <driver>mysqlDriver</driver> <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> <pool> <min-pool-size>5</min-pool-size> <max-pool-size>150</max-pool-size> </pool> <security> <user-name>admin</user-name> <password>admin</password> </security> <validation> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/> <validate-on-match>true</validate-on-match> <background-validation>false</background-validation> </validation> <timeout> <blocking-timeout-millis>30000</blocking-timeout-millis> </timeout> <statement> <share-prepared-statements>false</share-prepared-statements> </statement> </datasource> <drivers> <driver name="mysqlDriver" module="com.mysql"> <driver-class>com.mysql.jdbc.Driver</driver-class> </driver> </drivers> </datasources> |
...
01. O host.xml pode ser consultado em: <diretório de instalação do Fluig>\appserver\domain\configuration\host.xml.
02. O Por padrão. o tamanho de memória que o servidor consome pode ser alterado. Recomendamos utilizar os valores: vem ajustado em: max-size em ="4g " e size em 2g.="2g, porém, é possível alterar esses valores:
Bloco de código | ||||
---|---|---|---|---|
| ||||
<server auto-start="true" group="fluig" name="fluig1"> <jvm name="default"> <heap max-size="4g8g" size="2g3g"/> <jvm-options> <option value="-Dfile.encoding=utf8"/> <option value="-XX:MaxMetaspaceSize=1024m"/> <option value="-Djavamelody.disabled=true"/> <!-- Debug <option value="-Xdebug"/> <option value="-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"/> --> </jvm-options> </jvm> </server> |
03. O Fluig suporta até 16 GB de memória, sendo essa, uma limitação do JBoss. Caso o seu servidor de aplicação tenha mais de 16 GB de memória, recomendamos o uso de um cluster para distribuir os recursos.
Saiba mais em: Alta disponibilidade e Balanceamento de carga
04. Não é preciso alterar a quantidade inicial (mínima) de memória alocada (size="2g"), pois a plataforma alocará memória de acordo com a necessidade.
...
05. Problemas na Configuração de Proxy Reversoproxy reverso.
06. Excesso de consultas em datasets, gerando pois podem gerar estresse desnecessário ao banco de dados.
...