Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.



Informações
titlePlataforma TOTVS Fluig em Cloud

Clientes Cloud, é necessário entrar em contato com o time de Cloud para que os procedimentos sejam realizados.

Índice

Índice
excludeÍndice
classtoc-item-body


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

...

...

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
languagesql
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
languagejava
titleserver.log
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
languagejava
titleserver.log
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
languagejava
titleinvokeFunctionserver.servicetask64log
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
languagejava
titleserver.log
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

...

02. O <max-pool-size> pode ser ajustado entre 50-200 nos datasources. É possível utilizar um <max-pool-size> menor, quando houver mais de um banco de dados no mesmo servidor.

Bloco de código
languagexml
titledomain.xml
<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. size="2g, porém, é possível alterar esses valores:

Bloco de código
languagexml
titlehost.xml
<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 Reverso.

06. Excesso de consultas em datasets, pois podem gerar estresse desnecessário ao banco de dados.