240 likes | 392 Views
Stories from the field. Darren Jefford Solution Architect, Microsoft UK darrenj@microsoft.com. Some Topics. Suitability? PoC Latency Throttling ESB BizTalk Architect Non Functional Requirements Maintab ility , Manageab ility , Scalab ility Operations/Administration Instrumentation.
E N D
Stories from the field Darren Jefford Solution Architect, Microsoft UK darrenj@microsoft.com
Some Topics.. • Suitability? • PoC • Latency • Throttling • ESB • BizTalk Architect • Non Functional Requirements • Maintability, Manageability, Scalability • Operations/Administration • Instrumentation
Scenario 1: App to App integration Complex translations Adapter support Scalability (perf & endpoints) Management, Audit Infrastructure dependencies Management overhead
Scenario 2: B2B Integration Volatile network support Rich & flexible security Adapter support Tracking & Audit Infrastructure dependencies Management overhead
Scenario 3: “Message Bus” Publish subscribe model Message routing Loose coupling Standards, governance Infrastructure dependencies Loosely coupled Standards, governance
Scenario 4: Business Processes Resilience Tooling Scalability Enterprise class Human Workflow Infrastructure dependencies Management cost
Why do I need BizTalk? “Using all the Microsoft integration technologies, could I not build the solution without BizTalk Server?” “Yes. But………”
What’s in a host? Memory Management Scripting & Programmability APIs Thread Management Service Isolation Regulatory Compliance Exception Configuration Archiving & Purging Failed Message Management Disaster Recovery Message Tracking Utilization/Performance Tracking Composite Execution Tracking Are you in the business of building hosts? Health Monitoring Composite State Management Availability Monitoring Load Balancing Multi-environment Deployment Model Fail-over Are you investing in a single solution or a general purpose platform? Configuration Management Throttling Identity & Impersonation Scale-out Configuration
Managing complexity Custom solution Complexity of solution Scenario 1 Scenario 3 Scenario 2 Complexity of requirements
BizTalk environment considerations • Management skills • Good or bad management will make or break your BizTalk solutions reputation • BizTalk Server is a generic platform • Is the customer stretching it to an edge case?
BizTalk Performance & operational factors • Setting performance and capacity expectations • Know the factors that affect capacity • Understand the expected message latency • Our model has both strengths & weaknesses • Transactional integrity is provided by your transports • How do you answer the “Will I ever loose data?” question
Pub/Sub with Orchestration Orchestration Adapter Adapter Adapter Adapter Adapter Adapter Inbound Outbound Pipeline Pipeline Pipeline Pipeline Pipeline Pipeline Message Agent Subscriptions MessageBox
“Receive” Throttling • Receive Throttling relates to Throttling imposed on the receipt of messages into the BizTalk Message Box • Applies to hosts containing • Adapters • Orchestrations (that create and publish messages to the Message Box) • Message publishing throttling state performance counter • Implemented through • EPM Delays, EPM Threads
Publishing throttling states • 0: No throttling • 2: Rate • 4: Process Memory • 5: System Memory • 6: Database size • 8: Database session count • 9: Thread count • 11: User Override
Processing Throttling • Processing Throttling relates to Throttling imposed on the processing or consumption of messages from the BizTalk Message Box • Applies to hosts containing Send Ports and Orchestrations • Message delivery throttling state • Implemented through • Delay in delivering messages • In-memory queue size is reduced (100) • Thread Pool reduced
Delivery throttling states • 0: No throttling • 1: Rate • 3: Unprocessed message • 4: Process Memory • 5: System Memory • 9: High Thread Count • 10: User Override
Common Symptoms • “Orchestration completed/sec drops off suddenly” • Not enough work? • SQL Server problems • Throttling
Common Symptoms.. • “High CPU” • Rules Engine • Translation • Orchestration serialization • Persistence points • Custom Code • Serialization, System.Xml, RegEx, etc • Visual Studio Profiler is your friend
Common Symptoms.. • “High Memory Usage” • Rules Engine cache • BizTalk suppresses GC • Throttling will kick in after ~600MB
Common Symptoms.. • “There were not enough free threads in the ThreadPool object to complete the operation”“Web Service calls performing slowly” • Thread Starvation • All in one host? • Too slow to create threads?
Common Symptoms.. • “Low Throughput (not achieving the msg/sec you want)” • Are you feeding BizTalk with enough work? • Inspect Spool and Host queues • Is BizTalk throttling? • Dependant system keeping up? • Poor performing disks • Extra BizTalk servers if throttling is not occuriong, sql is looking good
Common Symptoms.. • “Heavy BAM Usage” • BAM_DM_<ActivityName> SSIS job • Tracking Data Size perf counter
Common Symptoms.. • “Spool increasing steadily” • Inspect Host Queues, which one building, rx, ox or tx? • Host throttling? • Check SQL Server Agent is running?