Professional Documents
Culture Documents
Page 1
(Appeon)
Appeon Corporation
Page 2
Content
1 Overview..............................................................................................................................3 1.1 Introduction..................................................................................................................3 1.2 Objectives ....................................................................................................................3 1.3 Test Environment.........................................................................................................3 1.3.1 Application Server and Web Server Configurations ............................................3 1.3.2 Database Server Configuration .............................................................................4 1.3.3 Client Configuration .............................................................................................4 Single User Test...................................................................................................................4 2.1 Test Case 1 - Common Benchmark Test .....................................................................4 2.1.1 Description............................................................................................................4 2.1.2 Test Steps ..............................................................................................................5 2.1.3 Test Result ............................................................................................................5 2.2 Test Case 2 - DataWindow Retrieval...........................................................................5 2.2.1 Description............................................................................................................6 2.2.2 Test Steps ..............................................................................................................6 2.2.3 Test Result ............................................................................................................6 2.3 Test Case 3 Retrieval for DataWindow with Stored Procedure ................................6 2.3.1 Description............................................................................................................6 2.3.2 Test Steps ..............................................................................................................6 2.3.3 Test Result ............................................................................................................6 2.4 Test Case 4 - Dynamic Create DataWindow ...............................................................6 2.4.1 Description............................................................................................................6 2.4.2 Test Steps ..............................................................................................................6 2.4.3 Test Result ............................................................................................................7 2.5 Test Case 5 - Embedded SQL......................................................................................7 2.5.1 Description............................................................................................................7 2.5.2 Test Steps ..............................................................................................................7 2.5.3 Test Result ............................................................................................................7 Stress Test ............................................................................................................................8 3.1 Description...................................................................................................................8 3.2 Test Steps .....................................................................................................................9 3.3 LoadRunner configurations .........................................................................................9 3.4 Test Result .................................................................................................................10 Stability Test ......................................................................................................................13 4.1 Description.................................................................................................................13 4.2 Test Result .................................................................................................................13 Conclusion .........................................................................................................................15
Appeon Corporation
Page 3
Overview
1.1 Introduction
This document describes the methodology and benchmarks of the APB Web Application Load & Performance testing; captures the observations and results of the Load and Stress Testing. The Load & Performance testing will focus on the capability of handling online users.
1.2 Objectives
Following are the three major objectives of the load testing. Identify the performance of various function points both in PowerBuilder and Appeon for single user. Identify the server memory, processor, and transaction processing time for different online users. Identify the stability of Appeon Server when multiple users run the Appeon Web application for a relatively long time.
EAServer is configured as below (Only including key properties): Property Value Http Listener
Maximum Number of Threads Number of Acceptors
1000 500
Appeon Corporation
Max Connection Pool Data Source Size Minimum Connection Pool Size Java Version Start Up Options JVM Start Options
Appeon Corporation
Page 5
Call an empty global function. 5. Object Function Overhead Call an empty object (window) function. 6. Event Overhead Trigger an empty event. 7. Window Instantiation Open a window with no controls. 8. String Parsing Change all occurrences of one string within another. 9. Global Variable Use a global variable in an assignment statement. 10. Global Constant Use a global constant in an assignment statement. 11. Using DataStores Copy all rows from a DataStore into variables using GetItem..., and then write them to another DataStore using SetItem.
Appeon Corporation
Page 6
2.2.1 Description
This test case is used to compare the DataWindow retrieval performance between PB and Appeon. The DataWindow has 9000 rows and 4 columns.
Description
This test case is used to compare the performance of creating a dynamic DataWindow using SyntaxFromSQL between PowerBuiler and Appeon.
Appeon Corporation
Page 7
Step1: Select one table from the first listbox. Step2 : Select columns from the second one. Then you can see the generated SQLfrom the Syntax area. You can modify this SQL manually. Step3 : Select DataWindow Type Step4 : Select Display Type Step5 : Click Create DW button.
2.4.3
Test Result
Test Item
Select * from t_customers Select * from t_customers, t_groups Select * from t_orders, t_orders_items
Response Time in PowerBuilder (Second) 0.016 0.094 0.031 0.016 0.016 0.015
Appeon Corporation
Page 8
3 Stress Test
3.1 Description
Creating 20 tables in a SQL server database, each table contains fields with all data types and 10000 rows data. For example, the table contains fields with the following data type: Data, Number, Decimal, Char (255), etc. The types of the column are: two Int, two Char(50), four Char(255), two Char(32253), three Number, Three Decimal(18, 2) and four Date/Datetime.
Develop a PB application including 20 tables.The first twelve tables (from Table 1 to Table 12) are to retrieve 100, 100, 100, 100, 100, 100, 1000, 1000, 1000, 2000, 5000, 10000 rows respectively for each time; and the remaining eight tables (from Table 13 to Table 20) are to update, insert or delete 5, 10, 15, 20, 10, 50, 50, 100 rows respectively for each time. It contains the following 8 function points: No Test Item Operation 1 Function 1 retrieve and update
Remark Use a datawindow to retrieve 100 rows from table t_1 with. Use a datawindow to update 5 rows to table t_13. Use a datawindow update 100 rows to table t_20. Use an esql to retrieve 100 rows from table t_2. Use a datawindow to insert/delete 10 rows to table t_14. Use an esql to update date 50 rows to table t_19 Use a dynamic sql to retrieve 100 rows from table t_3 Use a procedure to insert/delete 15
Function 2
Function 3
Appeon Corporation
Page 9
rows to table t_15 Use a dynamic sql to update 10 rows to table t_17 4 Function 4 retrieve and update/insert/delete Use a procedure to retrieve 100 rows from table t_4 Use a datawidow to insert/delete 20 rows to table t_16 Use a procedure to update 50 rows to table t_18 Use a datawindow to retrieve 100 rows from table t_5 Use a datawindow to retrieve100 rows from table t_6 Use a datawindow to retrieve 5000 rows from table t_11 Use a datawindow to retrieve 10000 rows from table t_12 Use a datawindow to retrieve 1000 rows from table t_7
Function 5 Function 6
retrieve retrieve
Appeon Corporation
Page 10
False
Load testing scenario: A. Add one virtual users in every 6 seconds until the numbers of the virtual users reach 50. Then keep the online users running for 20 minutes and obtain the test data during this time. And then add more virtual user and obtain data with the same rule. B. Set the virtual user number and function points mapping for every 50 users.
Test Item
Appeon Corporation
Page 11
3.000
2.000
1.000
0.0 00
50
Users
100
150
200
250
300
350
400
440
450
Function 3 Function 6
The following table lists the CPU usage and memory usage of Appeon Server and the database Server when the number of users increases from 50 to 450. Average CPU Usage(%) Users 50 100 150 200 250 300 350 400 Application Server 3.384 7.405 11.922 16.121 20.207 24.154 28.392 32.844 Database Server 1.824 3.480 5.296 7.435 9.272 11.936 14.510 16.651 Average Available Memory(Mbytes) Application Server 1622.645 1618.310 1616.080 1611.170 1606.420 1603.805 1597.725 1590.360 Database Server 1375.765 1327.315 1295.806 1265.060 1226.630 1179.525 1121.425 1053.900
Appeon Corporation
Page 12
440 450
36.115 30.389
20.036 14.858
1574.790 1570.358
998.740 984.887
40.000 35.000 30.000 CPU Usage(%) 25.000 20.000 15.000 10.000 5.000 0.000 50 100 150
200
250
300
350
400
440
450
Users
Available Memory(MB)
1600.000
1400.000
1200.000
1000.000
800.0 00 50 U se rs 100 150 200 250 300 350 400 440 450
Appeon Corporation
Page 13
4 Stability Test
4.1 Description
During the stability testing, 5 commonly function points in a business application are tested. During the stability test, Appeon set the testing scenario as the following: 1) 100 online users; 2) Think time, 60 seconds; 3) Test for 24 hours.
Passed
Passed
Appeon Corporation
Page 14
Step4: Click Copy Schedule from the menu Options > Scheduling Options> Copy Schedule, then open a window named Create Schedule Step5: Select Copy Schedules by Week and relative week scope and employee in the Create schedule window, then Click Ok.
Appeon Corporation
Page 15
5 Conclusion
Test results show that the Appeon Web application delivers as fast performance as the PB application does. Some particular functional points even perform a bit faster in APB than PB, and some perform slightly slower in APB than PB. As to why some particular functional points run slightly slower in APB than PB, it has something to do with the different architectures that PB and APB use: part of these functional points' business logic are implemented in JavaScript, as an interpreted language, JavaScript executes slower than PowerScripts which will be complied to the machine code in the realistic environment. As a whole, the Appeon Web application delivers superior performance, though it's a Browser/Server application, its performance is equally good as the client/Server application's. Compared with the Web application on the other architectures, it has obvious advantages. Meanwhile, the stress and the stability tests show that the Appeon Web application can stably work under certain stress, and the Appeon Web application performance fluctuates under stress, but moderately (under extreme stress, the concurrent performance is 2 to 3 times of the single-user performance on the functional point), this indicates the Appeon Web application offers excellent concurrency support and stability. And the test result shows that Appeon Server can support 100-150 online users with high performance in each CPU.