Tuesday, November 7, 2006

DEV312 - BizTalk Server 2006 – Design for Performance (Lee Graber)

A primeira sessão de BizTalk, com uma apresentação por um Dev Lead do BizTalk (autor do blog BizTalk Core Engine), dedicada ao tema de desempenho. Já conhecia a maioria destes conteúdos, que percorreu inúmeras boas práticas a seguir em termos de messaging (ex: não usar elementos xml com nomes grandes, não usar a Xml Pipeline no envio a menos que se pretendam demover propriedades, colocar mapas nos receive ports e não nas orquestrações, etc.) e orquestrações (não assumir que o parallel é multi-threaded, inicializar correlation sets no envio e não na recepção de mensagens, etc.), considerações sobre tunning, a penalização decorrente da persistência e as situações em que a mesma acontece, efeitos de ter várias message boxes, e vários outros aspectos. Em tudo o que tem a ver com desempenho, um aspecto a salientar é sempre a necessidade de testar e medir.

Uma dica que vai estar em breve no blog dele é a de que se executem os seguintes sp's nos SQL's que suportem o BizTalk:

exec sp_tableoption N'Spool', 'text in row', 'ON'
exec sp_tableoption N'Parts', 'text in row', 'ON'

Aparentemente tem um efeito significativo (10-15%) no desempenho ao nível da Message Box.

No final houve várias questões, uma delas sobre a inclusão do Windows Workflow no BizTalk. O Lee explicou a história e origem do WF, quando ainda era WinOE, e comentou que na versão do BizTalk pós-R2 o motor de orquestrações vai ser efectivamente substituído, e que já não existem pessoas da equipa de produto a fazer desenvolvimentos no mesmo.

Uma boa sessão, e tem sempre piada ouvir os comentários "off-record" sobre o que acontece "lá dentro". Adicionalmente, nunca tinha estado numa sessão de BizTalk com tanta gente. Talvez uma demonstração da crescente adopção da tecnologia.

O soundbyte da sessão: "The SQL Agent is our Garbage Collector".

No comments:

Post a Comment