Presentation is loading. Please wait.

Presentation is loading. Please wait.

DONE-08 Sizing and Performance Tuning N-Tier Applications Mike Furgal Performance Manager Progress Software

Similar presentations


Presentation on theme: "DONE-08 Sizing and Performance Tuning N-Tier Applications Mike Furgal Performance Manager Progress Software"— Presentation transcript:

1 DONE-08 Sizing and Performance Tuning N-Tier Applications Mike Furgal Performance Manager Progress Software mikef@progress.com

2 2© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications D I S C L A I M E R Under Development n This talk includes information about potential future products and/or product enhancements. n What I am going to say reflects our current thinking, but the information contained herein is preliminary and subject to change. Any future products we ultimately deliver may be materially different from what is described here. D I S C L A I M E R

3 3© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Agenda n Overview of AppServer™ Configurations n Benchmark Methodology n AppServer Internals n Benchmark Results n Conclusions

4 4© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications AppServer™ Benefits n Partitions presentation logic from Business Logic n Ease of deployment of Business Logic n Business Logic is closer to the Data for complex operations n Security –File Permissions –Running Environment

5 5© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Agenda n Overview of AppServer Configurations n Benchmark Methodology n AppServer Internals n Benchmark Results n Conclusions

6 6© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Overview of AppServer Configurations n Machine Configurations n AppServer Configurations n NameServer

7 7© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Machine Configurations n 2 Server Machines (1-DB and 1-AppServer) –HP Itanium (rx4640) n 4 CPUs n 8 GB Memory n Storage Area Network (SAN) n 2 Client Machines –Used to drive the workload

8 8© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications AppServer Configurations n Stateless AppServer –Uses the least amount of resources –Supports the largest amount of users n AppServer and Database on the same machine (Shared Memory Connection) n AppServer on a dedicated machine

9 9© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications NameServer n Used to manage multiple AppServers n Ran test suite both with the NameServer and without the NameServer –Had no effect on performance since it’s just involved when making a connection.

10 10© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Agenda n Overview of AppServer Configurations n Benchmark Methodology n AppServer Internals n Benchmark Results n Conclusions

11 11© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Benchmarking Methodology n Scale OLTP Users –No think time –Each benchmark user  20 OLTP users n Measure response time –Stop when response time is longer than 2 seconds. n Make changes to the AppServer configuration only –Database is assumed to be tuned!

12 12© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Database Tuning n Before Image and Data extends spread across multiple disks n Appropriate -spin settings –200,000 spin tries n Appropriate –B setting –Tested with the data set cached in memory –Tested with ½ of the data set cached in memory n Appropriate Before Image cluster-size setting –Checkpoint every 2 minutes

13 13© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Benchmarking Methodology n Step 1: Run a test case n Step 2: Measure the performance n Step 3: Analyze the results n Step 4: Change 1 thing n Step 5: Go to Step 1 n Iterate on this process

14 14© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Workloads Tested n Multiple workloads tested n Database Workload –100 reads, 3 updates, 1 create n Business Logic Workload –200 DB Reads –200 Temp Table Creates and Updates –3 Database Updates –1 Database Create n No other activity on the machines

15 15© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Things to remember n Kernel Tuning –Decrease the OS Buffer Cache (dbc_max_pct) –Increase number of threads/process (nkthread) –Increase max open files/process (maxfiles) n Monitor AppServer Broker Memory Usage –Memory used for size of messages. Application specific –Each Agent adds 4 MB –Each connected client adds 100K n AppServer Agents memory usage –Similar to character clients memory usage

16 16© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications NUMA Considerations Memory BUS CPU Memory BUS CPU Node 1Node 2 High Speed Interconnect n Non Uniform Memory Access n Memory is split across nodes n Ideal to have all Self Service Processes on the same node as the Database Buffer Pool –Possible future enhancement for OpenEdge

17 17© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Agenda n Overview of AppServer Configurations n Benchmark Methodology n AppServer Internals n Benchmark Results n Conclusions

18 18© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications AppServer Processes oooooo oooooo Client 1 Client 3 Client n Client 1 Thread Client 1 Thread Client 1 Thread Client 2 Thread Client 1 Thread Client 3 Thread Client 1 Thread Client n Thread Client 2 AS Agent 1 AS Agent 2 AS Agent 3 oooooo AS Agent n AS 1 Thread AS 2 Thread AS 3 Thread oooooo AS 4 Thread Request 1 Request 2 Request 3 Request 4 oooooo Request n Request Queue Listener Thread

19 19© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications AppServer Request Queue oooooo oooooo Client 1 Client 3 Client n Client 1 Thread Client 1 Thread Client 1 Thread Client 2 Thread Client 1 Thread Client 3 Thread Client 1 Thread Client n Thread Client 2 AS Agent 1 AS Agent 2 AS 1 Thread AS 2 Thread Request 1 Busy Request 2 Busy Request 3 Waiting Request 4 Waiting Request 5 Waiting Request Queue Listener Thread

20 20© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications AppServer Properties n initialSrvrInstance –Number of initial AS Agents n srvrStartupTimeout –Time to wait for a free server before starting a new one [default is 3 seconds] n maxSrvrInstance –Total number of AS Agents n maxClientInstance –Max number of clients that can connect $DLC/properties/ubroker.properties [.README]

21 21© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications AppServer Properties n autoTrimTimeout –Time to wait before stopping idle AS Agent [default 15 minutes] n minSrvrInstance –Lowest Number of AS Agents n requestTimeout –Time a client waits for an Agent. If expired the client is disconnected $DLC/properties/ubroker.properties [.README]

22 22© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Agenda n Overview of AppServer Configurations n Benchmark Methodology n AppServer Internals n Benchmark Results n Conclusions

23 23© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications AppServer Agent “Think Time” AppServer Workload causes a Pause

24 24© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Database Workload Database Workload – 100 reads, 3 updates, 1 create

25 25© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Database Workload Database Workload – 100 reads, 3 updates, 1 create

26 26© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Business Logic Workload Business Logic – 100 DB Reads, 200 TT Creates/Updates

27 27© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Business Logic Workload Business Logic – 100 DB Reads, 200 TT Creates/Updates

28 28© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Agenda n Overview of AppServer Configurations n Benchmark Methodology n AppServer Internals n Benchmark Results n Conclusions

29 29© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Conclusions n Keeping the business logic near the data provides the best performance n A small number of Agents can handle many users –CPU bound workloads achieve best performance with 1 AppServer Agent per CPU –I/O Bound workloads require more AppServer Agents –If Agents are busy serving large requests then adding more Agents helps (can be managed dynamically). –May need to segment AppServers Agents for different uses (OLTP vs. Reporting) n Your Mileage May Vary

30 30© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Odds and Ends n Constantly looking for places to make performance improvements –64bit performance improvements n Removed the performance penalty for compatibility n Typically 35% penalty n 64bit r-code is now different than 32bit r- code in OpenEdge™ 10.1A

31 31© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Questions?

32 32© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications Thank you for your time!

33 33© 2005 Progress Software Corporation DONE-08 Sizing and Performance Tuning N-Tier Applications


Download ppt "DONE-08 Sizing and Performance Tuning N-Tier Applications Mike Furgal Performance Manager Progress Software"

Similar presentations


Ads by Google