1. SONIC-7: Tuning and Scalability for Sonic Enterprise Messaging Analyzing, testing and tuning ESB/JMS performance David Hentchel Principal Solution Engineer
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12. Performance Project Timeline SONIC-7: Tuning and Scalability for Sonic Enterprise Messaging Development Project Week Process Dev Service Dev Sizing System Test Deployment Plan Launch Performance Project Perf Prototype 1 2 3 4 5 6 7 8 Design Application Tuning
13.
14.
15.
16.
17.
18.
19.
20.
21. Platform configuration specification SONIC-7: Tuning and Scalability for Sonic Enterprise Messaging DMZ Field DMZ CPU number type speed Network bandwidth latency speed Disk type speed Firewall cryptos latency Memory size speed Rule of Thumb: LAN 15 – 150 MBytes / second Disk: 2 – 10 MBytes / second XSLT: 200 – 300 KBytes / second
22. Platform Profile: Real-time messaging SONIC-7: Tuning and Scalability for Sonic Enterprise Messaging % capacity System resource limitations 90% 70% 20% 5% Rule of Thumb: Real-time, 1 KB messages, broker performance is about 1,000 to 10,000 msg/sec for each 1 gHz cpu power.
23. Platform Profile: Queued requests SONIC-7: Tuning and Scalability for Sonic Enterprise Messaging % capacity System resource limitations 50% 20% 40% 85% Rule of Thumb: Queued msgs, 1 KB messages, broker performance is about 100 to 1,000 msg/sec for each 1 gHz cpu power.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35. Demo: Provisioning test services SONIC-7: Tuning and Scalability for Sonic Enterprise Messaging Status Info WSI: Address Svc Status Request Status Query XForm: Build query DBSvr: Query Test Harness Web Portal Adapter: M/F Callout Addr Info Query Result Enriched Result WSI: Address Svc Status Query Status Query PassThru: DBSvr: Query PassThru: Sleep Status Query Query Result Query Result Business Use Case Performance Test Case
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53. Demo: Example test result matrix SONIC-7: Tuning and Scalability for Sonic Enterprise Messaging Update Scenario Query Scenario Msg Size DB Svc Thruput * Latency ** Test 1 Test 2 Test 3 Test 4 Test 5 Test 6 * kbytes / second ** milliseconds ORX 1 KB 112 331 ORX 10 KB 146 460 ORX 100 KB 152 1197 XSVR 1 KB 121 68 XSVR 10 KB 632 139 XSVR 100 KB 2113 688
54.
55.
56. Review ESB Architecture SONIC-7: Tuning and Scalability for Sonic Enterprise Messaging SOA view System view Router/Switch Router/Switch SERVICES COMMUNICATION BACKBONE NETWORK SERVICE CONTAINER ESB CONTROL Message Log DBMS Cache / Swap Threads VM Threads VM Threads VM Threads VM I/O Controller Memory Network Interface
57.
58.
59.
60.
61. Tip #2: Implement optimal QoS to balance speed versus precision SONIC-7: Tuning and Scalability for Sonic Enterprise Messaging (Based on CAA brokers and fault-tolerant connections) ESB QoS MQ Setting Message Loss Events Duplicate Msg Events N/A Discardable Buffer overflow, Any crash Never Best Effort NonPersistent, DupsOK ack Broker crash, Client crash Never At Least Once Persistent, DupsOK ack Never Never Exactly Once Transacted Never Never Expert Tip: With CAA configured, Best Effort service is equivalent to At Least Once, with substantially lower overhead.
62.
63. Tip #4: Use intra-container service calls to avoid broker hops SONIC-7: Tuning and Scalability for Sonic Enterprise Messaging Inter-Container Messaging Intra-Container Messaging v7.5: better! faster! Broker Dispatch Outbox Marshall Msg Send Msg … … Dispatch Outbox Unmarshall Msg Marshall Msg Call onMessage Send Msg … Receive Msg Unmarshall Msg Call onMessage Instantiate Proc …