Páginas filhas
  • Escalabilidade horizontal com TSS

Versões comparadas

Chave

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

Utilizando o processamento do TSS para transmissão de nota fiscal de serviço em escalabilidade horizontal e vertical.

O intuito deste documento é apresentar os requisitos para a elaboração do sizing recomendado para o processamento da nota fiscal de serviço. No teste executado, foram obtidos resultados de 18 mil notas/horas em seu processamento. Aumentado os recursos computacionais conforme a necessidade, o resultado pode chegar a 36, 54, 72, 90; ou seja, aumenta-se o volume de processamento conforme a demanda necessária e tempo que é necessárionecessários.

A arquitetura de processamento vertical e horizontal para o TSS foi baseada nas informações contidas neste documento.

Informações
titlePontos importantes
: o
  • O TSS não utiliza licenciamento. Este transmissor de nota fiscal é usado para o ecossistema da Totvs e, para usufruir deste processamento, é importante respeitar as configurações e sizing recomendado.
  • Este modelo atende a cenários com sistema operacional Windows e Linux, bem como os SGBDs PostgreSQL, Oracle e SQL Server.

  • Para se obter um processamento eficiente, é importante usar o dbaccess em modo distribuído.

  • Sempre utilize a versão do TSS mais atual
, neste caso usamos a release
  • . Para este teste, foram utilizadas as releases do TSS: 12.1.27 e 12.1.33

Arquitetura das máquinas

Cada máquina secundária processou, no teste executado, 18 mil notas. Por exemplo, ao se utilizar 4 máquinas foi possível

Doc processamento vertical e horizontal.

Exemplo da Arquitetura Maquina:

Cada máquina processando 18 mil notas dando como exemplo usando 4 máquinas chegando a processar 72 mil notas/horas, caso precise aumentar mais . Caso necessário, é possível processar mais notas ao aumentar a quantidade de notas usando como base o exemplo aumentar a máquinas horizontal incluindo mais uma dando um total 5 máquina chegando a processar 90 mil notas horas vai aumento conforme a necessidade de diminuir quando não se precisa maismáquinas secundárias, tomando como exemplo o cenário descrito. Também é possível diminuir a quantidade de máquinas secundárias, de acordo com a demanda de processamento.

Image Modified


Exemplo da

Arquitetura Instalação TSS

Desenho de instalação dos Serviços e a forma distribuída de cada servidor.referente à distribuição de serviços em cada servidor:

Image Modified

Image RemovedImage Removed

PostgreSQL

Oracle

SQL Server

Tipo Servidor RamSO Maximo

Servidor

Primário

  Image Removed

Secundário

Banco de dados

Tipo de servidor

Primário

Secundário

SGBD

Escalabilidade

Vertical

Horizontal

Vertical

Processador

8 Core

8 Core

8 Core

Memória

RAM

32 GB

32 GB

32 GB

Rede

10Gbit

10Gbit

10Gbit

IOPS/

Sistema Operacional

500

800

500

IOPS/Aplicação

500

500

---

IOPS/SGBD/Dados Index

------

7500

Throughput

Máximo Disco (MBps)

300

250

400

Informaçõesnote
titleImportante

Para os SGBDs é importante que o volume de dados e de índices seja separado para do 7500 IOPS sejam separado da seguinte forma.estejam separados. No caso de 7500 IOPS, segue exemplo de divisão:

  • Tablespace de dados 5000 IOPS;
  • Tablespace de
index
  • índices 2500 IOPS.

Configuração dos serviços

Appserver.ini do Serviço Broker

No wizard dos ERP usar o ip e porta do broker pois o mesmo será responsável pela distribuição.

Totvs custom tabs box
tabsBroker,Appserver Secundário,DBAccess primário, DBAccess secundário
ids01,02,03,04
Totvs custom tabs box items
defaultyes
referencia01
Bloco de código
;BROKER

[GENERAL]

; configuracao recomendada para gravação de log

ConsoleLog=1

ConsoleLogDate=0

ConsoleFile=E:\totvs\TSS\bin\logs\consolebrokertss.log

 

 


 
;[BALANCE_HTTP]

[balance_web_services]

; porta onde este broker server atende pedidos de conexão dos broker clients

LOCAL_SERVER_PORT = 8088


;Secondary

REMOTE_SERVER_01 = 10.17.23.10 8088

REMOTE_SERVER_02 = 10.17.23.10 8089

REMOTE_SERVER_03 = 10.17.23.11 8088

REMOTE_SERVER_04 = 10.17.23.11 8089

REMOTE_SERVER_05 = 10.17.23.12 8088

REMOTE_SERVER_06 = 10.17.23.12 8089

REMOTE_SERVER_07 = 10.17.23.13 8088

REMOTE_SERVER_08 = 10.17.23.13 8089


; Balanceamento por consumo de CPU ou por memoria reportado pelo TOTVS | Application Server

SORT_METHOD = SERVER_CPU

;SORT_METHOD=SERVER_MEMORY

SERVICE_NAME = TSSBROKER

SERVICE_DISPLAY_NAME = "TOTVS | TSS (Broker)"
Totvs custom tabs box items
defaultno
referencia02
Secundário 01
Bloco de código
;===================================================

;================
 Nome do meu servico  
  Nome do servico  ================

;===================================================

[Service]

Name=.TSSCloud-AppTSS-sec01

DisplayName=.TSS Cloud | AppTSS-sec01


;===================================================

;=================
 Meu ambiente  
  Meu ambiente  ==================

;===================================================


[SPED]

SourcePath=E:\totvs\TSS\apo\

RootPath=\\10.17.23.5\totvs\TSS

StartPath=\system\

RpoDb=top

RpoLanguage=Portuguese

RpoVersion=120

RpoInterface=Windows

LocalFiles=ctree

Trace=0

TopMemoMega=1

ChangeEncodingBehavior=1

SPED_HVERAO=0

TSSOndemand=1

TSSLOGINFO=0

TSSLOGERRO=0

MAXQUERYSIZE=31960

SPED_SAVEWSDL=1

SPED_DELMAIL=1

;LogProfiler=1

;SPED_SAVEWSDL=1 - Permite que seja gravado na Pasta SYSTEM, os Xmls de comunicação do TSS com os Web Services Externos. Esta chave deve ser

;habilitada apenas em casos que seja realmente necessário, pois, pode causar uma grande lentidão na comunicação.

; Mais detalhes de uso consulte : https://tdn.totvs.com/x/7GHXIQ


;===================================================

;======
 Minha
  Minha conexao com o banco de Dados
 
  =======

;===================================================


[TopConnect]

DataBase=MSSQL

Server=127.0.0.1

ALIAS=tsscloud

Port=7895

TopCONTYPE=TCPIP


[Drivers]

ACTIVE=TCP


[TCP]

TYPE=TCPIP

PORT=5967


[HTTP]

ENABLE=1

PORT=8088

PATH=E:\totvs\TSS12.1.27\HTML


;===================================================

;=============
 Configuracoes gerais  
  Configuracoes gerais  ==============

;===================================================

[General]

INSTALLPATH=E:\totvs\TSS

CONSOLELOG=1

ConsoleFile=E:\totvs\TSS\bin\logs\sectss01.log

BuildKillUsers=1

MaxStringSize=50000000

AsyncConsoleLog=0

ConsoleMaxSize=78643200


;===================================================

;=================== WebService ====================

;===================================================

; JOB Utilizado para o TSSOffline

[JOB_HTTP]

type=WEBEX

ENVIRONMENT=SPED

INSTANCES=1,4,1,1

ONSTART=STARTWEBEX

ONCONNECT=CONNECTWEBEX

EXPIRATIONTIME=120

EXPIRATIONDELTA=1


[localhost:8088/tssonline]

ENABLE=1

PATH=E:\totvs\TSS\html

ENVIRONMENT=SPED

RESPONSEJOB=JOB_HTTP

INSTANCENAME=WS

DEFAULTPAGE=wsindex.apw


[10.17.23.10:8088/tssonline]

ENABLE=1

PATH=E:\totvs\TSS12.1.27\html

ENVIRONMENT=SPED

RESPONSEJOB=JOB_HTTP

INSTANCENAME=WS

DEFAULTPAGE=wsindex.apw


[JOB_WS]

TYPE=WEBEX

ENVIRONMENT=SPED

;INSTANCES=1,4,1,1

INSTANCES=100,700,100,100

SIGAWEB=WS

INSTANCENAME=WS

ONSTART=__WSSTART

ONCONNECT=__WSCONNECT

XMLSAVEALL=0

ABENDLOCK=1

EXPIRATIONTIME=180

EXPIRATIONDELTA=1

SECURITY=0


;XMLSAVEALL=1 - Permite que seja gravado na Pasta WSLOGXML, todos os XMLs de comunicação dos Métodos do TSS com a aplicação chamadora.

;Esta chave deve ser habilitada somente para ajudar na análise de inconsistências, pois gera um grande número de XMLs.

;Mais detalhes de uso consulte : https://tdn.totvs.com/x/rZUXDg


[localhost:8088]

ENABLE=1

ENVIRONMENT=SPED

RESPONSEJOB=JOB_WS

PATH=E:\totvs\TSS12.1.27\web\ws

INSTANCENAME=WS

DEFAULTPAGE=wsindex.apw


[10.17.23.10:8088]

ENABLE=1

ENVIRONMENT=SPED

RESPONSEJOB=JOB_WS

PATH=E:\totvs\TSS\web\ws

INSTANCENAME=WS

DEFAULTPAGE=wsindex.apw


;;;;;;Broker TSS server para a distribuição de carga é importante todo os serviços ;;;;;;secundarios esteja configurado
.

[10.17.23.5:8088]

ENABLE=1

ENVIRONMENT=SPED

RESPONSEJOB=JOB_WS

PATH=E:\totvs\TSS\web\ws

INSTANCENAME=WS

DEFAULTPAGE=wsindex.apw


;===================================================

;===================
 Serviços
  Serviços TSS =================

;===================================================

[IPC_ONDEMAND]

MAIN=prepareIPCWAIT

ENVIRONMENT=SPED

INSTANCES=500,500,100,200

EXPIRATIONTIME=300

EXPIRATIONDELTA=1


[IPC_CONT]

MAIN=prepareIPCWAIT

ENVIRONMENT=SPED

INSTANCES=400,400,100,200

EXPIRATIONTIME=300

EXPIRATIONDELTA=1


[TSSTASKPROC]

MAIN=TSSTASKPROC

ENVIRONMENT=SPED

EXPIRATIONTIME=300

EXPIRATIONDELTA=1


[IPC_SMTP]

MAIN=prepareIPCWAIT

INSTANCES=4,8,1,1

ENVIRONMENT=SPED

EXPIRATIONTIME=120

EXPIRATIONDELTA=1


;===================================================

;===================
 Use PROXY  
  Use PROXY  ===================

;===================================================

[PROXY]

ENABLE=0

;[PROXY]

;Enable=1

;SERVER=my server proxy.com

;PORT=8080

;USER=domain\user

;PASSWORD= password


;===================================================

;===============
 Chamada
  Chamada dos Jobs
 
  ================

;===================================================

[ONSTART]

JOBS = JOB_HTTP,JOB_WS,IPC_ONDEMAND,IPC_CONT,TSSTASKPROC,IPC_SMTP

REFRESHRATE=10

;DebugMsg=1


;===================================================

;==========
 Criptografia
  Criptografia para mensagens
 
  ==========

;===================================================

[SSLConfigure]
HSM    

HSM     =0

Verbose = 1
SSL2    

SSL2    =0
SSL3    

SSL3    =1

TLS1_0
 
  =1

TLS1_1
 
  =1

TLS1_2
 
  =1
Bugs    

Bugs    =1

State
 
   = 1

CertificateClient=E:\totvs\TSS\certs\NFSE000001_all.pem

KeyClient=E:\totvs\TSS\certs\NFSE000001_key.pem


[WebApp/webapp]

MPP=


[ENABLE_WS]

SPEDADM=1

SPEDCFGNFE=1

NFESBRA=1

RECOPI=1

MANIFESTACAODESTINATARIO=1

TSSGNRE=1

NFSE001=1

TSSDMST=1

DIESERVICE=1

NFECFGLOC=1

WSFEV1=1

TSSWSSIGNATURE=1

TSSWSSOCIAL=1

TSSWSREINF=1

WSINDEX=1

NFESLOC=1

TSSWSSUNAT=1

WSLPEG=1

WEBSERVAGRO=1

FECRED=1

TSSMANAGEREDI=1

TSSAUTHENTICATION=1

monitorsefaz=1

TSMCCNFE=1

TSMINITIAL=1

TSMNFE=1
Totvs custom tabs box items
defaultno
referencia03
Bloco de código
[SERVICE]

Name=dbaccess_7700

DisplayName=.02-01 - TOTVS | DBAccess 4.2 Server - 7700 (Primary-TSS)


[General]

GlbPRofiler=0

ThreadMin=4000

ThreadMax=9000

ThreadInc=300

maxStringSize=500

ConsoleMaxSize=100000000

TableCacheInMaster=0

MasterSingleLockConn=0

ShowAllErrors=1

MsgWarnings=1

Port=7700

Mode=master
Totvs custom tabs box items
defaultno
referencia04
Bloco de código
[SERVICE]

Name=dbaccess_7895

DisplayName=.01-1 - TOTVS | DBAccess 4.2 Server - 7895 (Sec-TSS)


[General]

GlbPRofiler=0

ThreadMin=600

ThreadMax=5000

ThreadInc=20

maxStringSize=500

ConsoleMaxSize=100000000

ShowAllErrors=1

MsgWarnings=1

Port=7895

Mode=slave

MasterServer=10.171.231.5

MasterPort=7700

LicenseServer=

LicensePort=0

AuditLog=0

AuditServer=

AuditPort=7891

AuditLevel=1

AuditAll=0

AuditSqlExec=1

AuditProcExec=1

AuditThreadComment=1

AuditERPUserName=1

AuditSingleThread=0

ThreadInfo=0

LogFull=0

Disable=0


[MSSQL]

environments=tsscloud


[MSSQL/tsscloud]

user=tsscloud

password=œ“å´³¬

TableSpace=

IndexSpace=SECONDARY

Disable=0