Download presentation
Presentation is loading. Please wait.
Published byDulcie Holmes Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.