PERFORMANCE TESTING CONCURRENT ACCESS ISSUE AND POSSIBLE SOLUTIONS A CLASSIC CASE OF PRODUCER-CONSUMER
|
|
|
- Barnaby Silvester Wilkerson
- 10 years ago
- Views:
Transcription
1 PERFORMANCE TESTING CONCURRENT ACCESS ISSUE AND POSSIBLE SOLUTIONS A CLASSIC CASE OF PRODUCER-CONSUMER Arpit Christi Visiting Faculty Department of Information Science New Horizon College of Engineering, Bangalore, India [email protected] Abstract Concurrent access issue is one of the most frequently encountered issues in performance testing. The issue is a classic case of producer consumer problem where multiple clients try to access same code on the server at the same time, resulting in collision in accessing the code/data. Readily available solutions to producer consumer problem are applied with proper implementation to solve the above mentioned issue. Relative pros and cons of each solution are also discussed. Keywords: performance testing, concurrent access issue, producer-consumer problem. 1. Performance Testing Today most of the real world applications are client-server applications. Multiple clients send requests to server and server responds to these requests. Server can responds to limited number of client requests at a time satisfactorily depending upon multiple factors. These factors include server side code, client side code, physical specification of server (RAM, Cache, Processor speed etc), network bandwidth between client and server etc [4]. Here it is important to note that server just doesn t only mean an isolated single server. It can be a web farm consisting of large number of servers. Still, there is an upper limit on how many client requests it can serve depending upon above mentioned factors. Before any application is deployed and is started being utilized, it is important to find out how many simultaneous client requests it will be able to serve. Load Testing or Performance testing exactly does that. First an environment is created that imitates real world environment of server and multiple clients/users. Then certain requests are sent to server repetitively and response time, CPU utilization, memory utilization etc are measured and averaged to have better approximation of how the application is going to behave in real world environment where multiple users will send similar requests [5]. It is important to note that in most of client server application, server does all the heavy lifting so measuring performance of server is all what matters. 2. Performance Testing Environment PERFLAB: Performance testing environment imitates real world environment. We have here created a generic environment that we call PERFLAB and it envelops most of the real world scenario in a generic way. It consists of bunch of machines with specific tasks assigned to them. We don t want to have single machine to act as server, clients and data collectors. We have multiple machines (virtual machines) that we are using to carry out different tasks. They are: PerfServer single server machine that acts as server of your application PerfClient(s) a client machine where multiple users will be created and then requests will be sent to client Controller a machine that monitors and collects all the parameters that are under considerations(server CPU utilization, RAM utilization, number of simultaneous users) TestAuthor A machine where tests are written and from where testing will be initiated We are using Visual studio 2010 ultimate edition that allows us to do load testing [2]. This version is installed on TestAuthor machine. ISSN : Vol. 3 No.3 Jun-Jul
2 PerfClient1 PerfClient2 PerfClientn PerfServer Controller PerfDB TestAuthor Fig. 1. Performance testing run for Pseudo Code 1 As shown in the fig 1, TestAuthor triggers the process by activating controller. Controller will in turn activate DB, Application server and clients. Client will start sending requests to PerfServer. As required PerfServer will query PerfDB(database) to get the data. While the process is going on, controller will keep on collecting data from all the machines under consideration and create statistics out of it. 3. Automated Performance Tests (Unit Tests and Web Tests) Performance of an application can be measured in different ways. Unit Tests and Web Tests are most common of them. Here unit tests differ from normal unit tests by the fact that instead of testing a single unit or module, it tests a scenario that represents some user action(s). For example, for an asset management system, a single unit test may represent following actions. Log in to system, search for certain kind of assets, pick one asset from these assets, update some fields for this asset and save the asset. Web tests does essentially same thing but in a different way. If web application is being used then web tests records user actions in form of series of HTTP requests and response and then plays it back to give you similar action(s). For our further discussion, we will just consider unit tests and not web tests, but very similar ideas can be applied to web tests without much difficulty. Also, to avoid any confusion with traditional unit tests, we will call them scenario tests [3]. Once this scenario tests are written, we will load them in our PERFLAB and run them against multiple users. So, client will create n number of users and run scenario tests allowing all n users to perform operations specified in scenario tests simultaneously. Test Initialization and Test finalization are important aspects of automated tests. Test Initialization lets us create environment/data for our test while Test finalization lets us delete data that was created as part of our initialization or tear down the environment [6]. 4. Hypothetical Assest Management System and its operations To make our case of Performance Testing Concurrent Access Issues and Possible Solution we will define our hypothetical asset management system and then we will write our scenario tests against this system. For simplicity we are allowing five operations for this Asset Management System. The 5 operations are Create an asset create an asset with all specification and then store it in persistent storage device. Read an asset Depending upon assetid, it will bring all fields of asset from persistent storage and displays it to user. Update an asset Allows user to update specific asset and then update the asset in persistent storage when user saves updates ISSN : Vol. 3 No.3 Jun-Jul
3 Delete an asset delete an asset. Search for asset/assets depending upon criteria provided by user, it searches asset/assets and display a list of assets. We are not very much concerned on how this operations are performed but concerned about how they will behave when n number of users will run these operations simultaneously. Persistent storage is a Microsoft SQL server database. We have single table in this database called Asset with following fields. Table 1 Asset Table AssetTable AssetID string AssetDescription string AssetInstallationDate - Date Initially we start with create operation only and as create operation is sufficient to demonstrate the problem. We have at our disposal an asset class that looks like following in class diagram. Table 2 Asset Class Specification Asset(Class) AssetID string AssetDescription string AssetInstallationDate Date Bool CreateAsset(); Following is pseudo code for create operation Public bool CreateAsset() Asset myasset = new Asset(); myasset.assetid = Assign Data Collected from user form/page myasset.assetdescrpition = Assign Data Collected from user form/page myasset.assetinstallationdate = Assign Data Collected From user form/page bool success = myasset.storeasset(); return success; Here StoreAsset() function stores asset in persistent storage but before that it validates if there exists an asset with same ID and returns false if it exists. If not so then it will store this asset in persistent storage and returns true. Now, we write a scenario test against CreateAsset function and we call it CreateAssetTest. TestInitialize() Public void CreateAssetTest() Asset myasset = new Asset(); myasset.assetid = ABCDEFGHIJKLMNOPQRST ; myasset.assetdescription = myasset.assetid + + My Descprtion ; myasset.assetinstallationdate = 11/11/2011 ; Assert.IsTrue(myAsset.StoreAsset(), Asset already exists ); TestFinalize() ISSN : Vol. 3 No.3 Jun-Jul
4 Delete the asset so that it can be used fresh for next unit test run. Pseudo Code 1 As TestFinalize() deletes the asset from database, next run of this scenario test will pass as the asset is deleted from database. One can run this unit test as many times, it will pass. 5. Concurrent Access Issue with performance testing: Let s run the above mentioned scenario test in our PERFLAB. Now the code that creates Asset will become part of server side code and client will call this code to create assets. In our case, being precise, the PerfClient machine will create clients and run this scenario test and operations will be performed on server side. Using visual studio ultimate 2010 on Testauthor machine we will define how many users will be created [2]. We are starting with 50 users. So, basically PerfClient machine will have 50 constant users and they will simultaneously send request to create an asset to our PerfServer. Here is an example of our run generated at PERFLAB. Fig. 2 Performance testing run for Pseudo Code 1 As you can see in Fig 2, failure rate is very high (92.9% for CreateAsset with 50 users measured at PERFLAB). Let s try to investigate the failure. As we have mentioned before when our test is finished, asset is removed from database. So, same asset ID can be used for coming tests. But we see here that for all of the failing tests, the error is, Asset already exists. All 50 users are trying to create the asset at the same time by calling CreateAssetTest(). So, all 50 users are entering into test code at the same time. So, even before the first user can finish running the test, can go to TestFinalize() method and remove the asset, most of the users have entered into test method and have assigned their asset id to ABCDEFGHIJKLMNOPQRST. So when they will hit their StoreAsset() method, the validation for uniqueness will fail and StoreAsset() will return false and hence the test will fail. One possible case of above scenario is depicted below. TestInitialize() Public void CreateAssetTest() Asset myasset = new Asset(); ISSN : Vol. 3 No.3 Jun-Jul
5 User 31,32.50 are somewhere here. They will soon assign their asset ID to ABCDEFGHIJKLMNOPQRST myasset.assetid = ABCDEFGHIJKLMNOPQRST ; myasset.assetdescription = myasset.assetid + + My Descprtion ; myasset.assetinstallationdate = 11/11/2011 ; User 2,3.30 are here. About to create new asset with asset ID ABCDEFGHIJKLMNOPQRST Assert.IsTrue(myAsset.StoreAsset(), Asset already exists ); TestFinalize() User 1 is here. About to delete the asset with Asset ID ABCDEFGHIJKLMNOPQRST Delete the asset so that it can be used fresh for next unit test run. The scenario is exactly producer consumer problem [7]. Users are consumers of our method that look for unique Asset ID, if they want to successfully create an asset, while the ID generation system is our producer. Currently there is no ID generation system in place or we can say that our ID generation system returns a single value (ABCDEFGHIJKLMNOPQRST). This kind of scenario is most common when scenario tests are used as performance tests and then loaded to performance labs. Surprisingly, without applying any smartness, we can get solution to producer consumer problem from textbook and implement it for this scenario and it will solve this problem also. Let s try to apply three most basic solutions to producer consumer problem to the problem at our hand. The solutions are single buffer, bounded buffer and unbounded buffer [7]. We implement them for problem at our hands and discuss their pros and cons. 6. Single Buffer Solution The problem that we have discussed already has a single buffer with entry of ABCDEFGHIJKLMNOPQRST [7]. The only way we can control the access of this single buffer is to lock it when a user is entered so that no other user can use the buffer until this user is finished using it and unlocks it [1]. We will modify our scenario tests accordingly and run our tests in PERFLAB again to see the test results. Object _lockobject = new Object(); Public void CreateAssetTest() Lock(_lockObject) Asset myasset = new Asset(); myasset.assetid = ABCDEFGHIJKLMNOPQRST ; myasset.assetdescription = myasset.assetid + + My Descprtion ; myasset.assetinstallationdate = 11/11/2011 ; DelayOf100MS(); ISSN : Vol. 3 No.3 Jun-Jul
6 Assert.IsTrue(myAsset.StoreAsset(), Asset already exists ); Pseudo Code 2 Single Buffer solution Now test results are as follows. Fig. 3. Performance testing run for single buffer solution As we can see in the figure, out of 837 only one test failed and that too for some random reasons. Failure rate is almost 0%. So, Single buffer solution solves the problem of concurrent access but it does so at the cost of concurrent access itself. With this solution, all other users are made to wait until current user enters into code and finishes execution of the code. That s why, though this test was run exactly same amount of time as previous run (4 minutes 50 seconds for both cases) number of tests came down from 3918 from previous case to 837 with single buffer solution. Though all 50 users are created almost together and they are trying to access the code together, with single buffer solution only one user is allowed to succeed with access of code. All 50 users are not running the code simultaneously that kills the purpose of load testing, loading code with multiple users at the same time. So, though single buffer solves the problem of concurrent access, it is not practically useful except in some cases where indeed certain portion of code is prevented from concurrent access and load testing is done for that portion of the code. 7. Bounded Buffer Solution Bounded buffer solution [7] creates a buffer of some fix size and uses it to store producer s items and supplies one out of these items to consumer when requested until the item is available in bounded buffer. Let s try to implement this solution for our case. To understand bounded buffer solution better, we vary the size of buffer and run the load test in our PERFLAB. Bounded buffer solution algorithm is mentioned below. In this solution, producer is the process that adds asset ids to the buffer. Once a client/consumer has used this id, it is assumed to be removed from the buffer, so, if the same id is requested again, it s not available in the buffer and hence another client will not get the asset id and test for that client will fail. The same thing is achieved through our solution. TestFinalize() method removes the asset id from persistent storage, so by the time a client uses an id, but the test hasn t gone through finalization process, if other client requests the same id and try to create asset, ISSN : Vol. 3 No.3 Jun-Jul
7 its test will fail as id still exists in persistent storage. Once an asset id is used by one client test and until the client is done with this test and finish its finalization process, that particular asset id is unusable by other clients, as bad as not being available in buffer. Once finalization is done for the a particular id used by a client, that id can be used by other client, as good as producer producing same id and putting it back to buffer. Create a Static buffer of possible Asset ID with buffer size of n Array assetids = new Array(100) For I = 1 to 100 assetid[i] = Some valid asset id public void CreateAssetBoundedBufferTest() Asset myasset = new Asset(); myasset.assetid = Pick one asset randomly from assetids buffer myasset.assetdescription = myasset.assetid + + My Descprtion ; myasset.assetinstallationdate = 11/11/2011 ; Assert.IsTrue(myAsset.StoreAsset(), Asset already exists ); Pseudo Code 3 Bounded Buffer solution The scenario test is then loaded to our PERFLAB and results are generated using 50 constant users and buffer size of 25 and results are shown in fig 4(failure rate 21.4%). The same scenario test is then run using 50 constant users and buffer size of 50 and results are shown in Table 3 (failure rate 2.14%). Table 3 depicts failure rate of scenario test run using 50 users and buffer size of 10, 25, 50 and 100. It s very clear from this table that as buffer size increases with respect to number of users, failure rate decreases. Bounded buffer solution is bound to give better results when buffer size is equal to or greater then number of users, the later is preferred. Thus, problem of concurrent access is resolved using bounded buffer. Bounded buffer solution is not suited when number of clients is going to change drastically during load testing. With every change in number of users, buffer size need to be adjusted to make it bigger then number of users. Once your code is deployed in PERFLAB, this kind of adjustments may need a series of retesting and redeployment and is tedious and error prone. One can always keep buffer size very large, larger then the biggest anticipated number of users to solve the problem but in that case we have larger buffer occupying space is memory and selecting one item from buffer will become bit slower operation. Also, filling the buffer with larger number of items will be time consuming, increasing the preprocessing time of test. One more advantage this solution have over single buffer solution is that lock is applied nowhere and so all users are allowed complete freedom to act on code concurrently. Table 3 Bounded buffer solution failure rate for varying user No of Concurrent users Failure rate ISSN : Vol. 3 No.3 Jun-Jul
8 Fig. 4. Performance testing run for bounded buffer solution 8. Unbounded Buffer Solution As we have noticed in bounded buffer solution, good results are produced if buffer is as big as number of concurrent clients or much bigger then that. Having a bounded buffer of certain size will guarantee good results in case of concurrent access against certain number of clients. In a practical scenario, clients can be varying and it can range in any number. Best solution that will solve concurrent access issue against any number of concurrently accessing consumers is to have unbounded buffer, a buffer of theoretically infinite size [7]. Following is the pseudo code of implementation of unbounded buffer solution to our load testing scenario. We have a randomizer class called Random that is capable of generating random numbers and strings of given size and limits. Class has two methods namely NextDigit that generates a random digit and NextString that generates a random string. Public void CreateAssetUnboundedBufferTest() Asset myasset = new Asset() myasset.assetid = Random.NextString(20); //Random string of 20 character myasset.assetdescription = myasset.assetid + Description ; myasset.installationdate = 11/11/2011 ; Pseudo Code 4 Unbounded Buffer solution The scenario test is then loaded to our PERFLAB and results are generated using 50 constant users and results are given below. ISSN : Vol. 3 No.3 Jun-Jul
9 Fig. 5. Performance testing run for Unbounded buffer solution As one can see, failure rate is very less (< 2%) and most of the errors have to do with how PERFLAB is setup then actual failure because of concurrent access. Tests that actually fail because of same asset id are very less and negligible. Also, numbers of tests that run are quite large compared to that run for single buffer solution. In single buffer we stifled the full parallelism by locking certain parts of our scenario tests. Now things are running in full parallel with all 50 users allowed to create assets at the same time without affecting their parallel behavior at all. As an Asset ID, random id of length 20 is being used. If random generator function only uses character a to z then also the probability of collision of asset id is that is 5.01e -29, almost none. Unbounded buffer solution with random string of 20 and character a to z is as good as having a buffer of and picking one item from it randomly. The best thing is that the buffer is never stored in memory at the cost of generating the string randomly every time when requested. Unbounded buffer scenario is most suited for most of the load testing cases as it allows full parallelism. One needs to have proper randomizer that will give random data as per need of the scenario test. Only overhead with this solution is the time taken to generate random data of n length by random function as that time adds to the time taken by the scenario test. One can safely at the end subtract the time taken by random function to generate random data from actual average test time to get accurate results. 9. Conclusion A commonly encountered problem of concurrent access issue during load testing is discussed here. The problem is shown to be a case of producer consumer problem. Readily available solutions to producer consumer problem are applied to the problem at hand to solve it. Implementation of single buffer, bounded buffer and unbounded buffer solution is provided, results are presented and pros and cons of each solution are discussed. Single buffer solution is not much useful as it kills the purpose of letting users access code simultaneously. Depending upon one s need a load tester can decide between bounded buffer and unbounded buffer solution. If users are going to stay constant or very small change in user range is going to happen over a long period of time during load testing as well as the scenario suits best for preprocessing over doing some work in load testing method itself, bounded buffer solution is preferred. If users are going to be varied a lot in range to get results for varying user load or scenario suits best for generating some random data in load test method over preprocessing, unbounded buffer solution is preferred. Acknowledgement Author is thankful to Meridium INC (Roanoke, VA, USA) and Meridium services and labs Pvt. Ltd (Bangalore, India) for allowing him to use their existing performance lab to carry out experiments and producing results of performance tests. ISSN : Vol. 3 No.3 Jun-Jul
10 References [1] Birrell A. (2003). An Introduction to Programming with C# Threads ( [2] Kamkolkar N. (2010). Getting Started With VS2010 Ultimate ( [3] Kaner, C. (2003). The power of What If and nine ways to fuel your imagination: Cem Kaner on scenario testing, Software Testing and Quality Engineering Magazine, Vol. 5, Issue 5 (Sep/Oct), pp , [4] Liu, H. (2009). Software performance and scalability a quantitative approach, Wiley series on Quantitative Software Engineering. [5] Meier J., Vasireddy S., Babbar A., Mackman A. (2004). Microsft patterns and practices, Improving.NET application performance and scalability ( [6] Michaelis, M. (2005). A Unit Testing Walkthrough with Visual Studio Team Test, Microsoft MSDN ( [7] Silberschatz A., Galivn P., Gagne G. (2008). Process Synchronization, Operating System Concepts, Eightth edition, pp , ISSN : Vol. 3 No.3 Jun-Jul
iservdb The database closest to you IDEAS Institute
iservdb The database closest to you IDEAS Institute 1 Overview 2 Long-term Anticipation iservdb is a relational database SQL compliance and a general purpose database Data is reliable and consistency iservdb
Advantage Database Server
whitepaper Advantage Database Server Scalability Technical Brief A whitepaper from Sybase ianywhere TABLE OF CONTENTS 1 Introduction 2 Specifications 2 Tables 2 Server Machine 2 Client Machine 2 Development
Performance Modeling for Web based J2EE and.net Applications
Performance Modeling for Web based J2EE and.net Applications Shankar Kambhampaty, and Venkata Srinivas Modali Abstract When architecting an application, key nonfunctional requirements such as performance,
Copyright www.agileload.com 1
Copyright www.agileload.com 1 INTRODUCTION Performance testing is a complex activity where dozens of factors contribute to its success and effective usage of all those factors is necessary to get the accurate
Performance Tuning and Optimizing SQL Databases 2016
Performance Tuning and Optimizing SQL Databases 2016 http://www.homnick.com [email protected] +1.561.988.0567 Boca Raton, Fl USA About this course This four-day instructor-led course provides students
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)
Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010
Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010 This document is provided as-is. Information and views expressed in this document, including URL and other Internet
Implementing Parameterized Dynamic Load Balancing Algorithm Using CPU and Memory
Implementing Parameterized Dynamic Balancing Algorithm Using CPU and Memory Pradip Wawge 1, Pritish Tijare 2 Master of Engineering, Information Technology, Sipna college of Engineering, Amravati, Maharashtra,
TESTING AND OPTIMIZING WEB APPLICATION S PERFORMANCE AQA CASE STUDY
TESTING AND OPTIMIZING WEB APPLICATION S PERFORMANCE AQA CASE STUDY 2 Intro to Load Testing Copyright 2009 TEST4LOAD Software Load Test Experts What is Load Testing? Load testing generally refers to the
Developing Solutions for Microsoft Dynamics AX in a Shared AOS Development Environment
Microsoft Dynamics AX 2012 Developing Solutions for Microsoft Dynamics AX in a Shared AOS Development Environment White Paper This document provides guidance for developing solutions when multiple development
Load Testing and Monitoring Web Applications in a Windows Environment
OpenDemand Systems, Inc. Load Testing and Monitoring Web Applications in a Windows Environment Introduction An often overlooked step in the development and deployment of Web applications on the Windows
A Middleware Strategy to Survive Compute Peak Loads in Cloud
A Middleware Strategy to Survive Compute Peak Loads in Cloud Sasko Ristov Ss. Cyril and Methodius University Faculty of Information Sciences and Computer Engineering Skopje, Macedonia Email: [email protected]
Enterprise Data Integration for Microsoft Dynamics CRM
Enterprise Data Integration for Microsoft Dynamics CRM Daniel Cai http://danielcai.blogspot.com About me Daniel Cai Developer @KingswaySoft a software company offering integration software and solutions
What Is Specific in Load Testing?
What Is Specific in Load Testing? Testing of multi-user applications under realistic and stress loads is really the only way to ensure appropriate performance and reliability in production. Load testing
VirtualCenter Database Performance for Microsoft SQL Server 2005 VirtualCenter 2.5
Performance Study VirtualCenter Database Performance for Microsoft SQL Server 2005 VirtualCenter 2.5 VMware VirtualCenter uses a database to store metadata on the state of a VMware Infrastructure environment.
Response Time Analysis
Response Time Analysis A Pragmatic Approach for Tuning and Optimizing SQL Server Performance By Dean Richards Confio Software 4772 Walnut Street, Suite 100 Boulder, CO 80301 866.CONFIO.1 www.confio.com
IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE OPERATORS
Volume 2, No. 3, March 2011 Journal of Global Research in Computer Science RESEARCH PAPER Available Online at www.jgrcs.info IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE
Microsoft SQL Server: MS-10980 Performance Tuning and Optimization Digital
coursemonster.com/us Microsoft SQL Server: MS-10980 Performance Tuning and Optimization Digital View training dates» Overview This course is designed to give the right amount of Internals knowledge and
Dependency Free Distributed Database Caching for Web Applications and Web Services
Dependency Free Distributed Database Caching for Web Applications and Web Services Hemant Kumar Mehta School of Computer Science and IT, Devi Ahilya University Indore, India Priyesh Kanungo Patel College
Virtuoso and Database Scalability
Virtuoso and Database Scalability By Orri Erling Table of Contents Abstract Metrics Results Transaction Throughput Initializing 40 warehouses Serial Read Test Conditions Analysis Working Set Effect of
Case Study: Load Testing and Tuning to Improve SharePoint Website Performance
Case Study: Load Testing and Tuning to Improve SharePoint Website Performance Abstract: Initial load tests revealed that the capacity of a customized Microsoft Office SharePoint Server (MOSS) website cluster
Internet Content Distribution
Internet Content Distribution Chapter 2: Server-Side Techniques (TUD Student Use Only) Chapter Outline Server-side techniques for content distribution Goals Mirrors Server farms Surrogates DNS load balancing
Scalability Factors of JMeter In Performance Testing Projects
Scalability Factors of JMeter In Performance Testing Projects Title Scalability Factors for JMeter In Performance Testing Projects Conference STEP-IN Conference Performance Testing 2008, PUNE Author(s)
TRACE PERFORMANCE TESTING APPROACH. Overview. Approach. Flow. Attributes
TRACE PERFORMANCE TESTING APPROACH Overview Approach Flow Attributes INTRODUCTION Software Testing Testing is not just finding out the defects. Testing is not just seeing the requirements are satisfied.
Keywords web applications, scalability, database access
Toni Stojanovski, Member, IEEE, Ivan Velinov, and Marko Vučković [email protected]; [email protected] Abstract ASP.NET web applications typically employ server controls to provide dynamic
SQL Server Performance Tuning and Optimization
3 Riverchase Office Plaza Hoover, Alabama 35244 Phone: 205.989.4944 Fax: 855.317.2187 E-Mail: [email protected] Web: www.discoveritt.com SQL Server Performance Tuning and Optimization Course: MS10980A
EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer
WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration Developer Web Age Solutions Inc. USA: 1-877-517-6540 Canada: 1-866-206-4644 Web: http://www.webagesolutions.com Chapter 6 - Introduction
SafePeak Case Study: Large Microsoft SharePoint with SafePeak
SafePeak Case Study: Large Microsoft SharePoint with SafePeak The benchmark was conducted in an Enterprise class organization (>2, employees), in the software development business unit, unit that widely
I-Motion SQL Server admin concerns
I-Motion SQL Server admin concerns I-Motion SQL Server admin concerns Version Date Author Comments 4 2014-04-29 Rebrand 3 2011-07-12 Vincent MORIAUX Add Maintenance Plan tutorial appendix Add Recommended
In Memory Accelerator for MongoDB
In Memory Accelerator for MongoDB Yakov Zhdanov, Director R&D GridGain Systems GridGain: In Memory Computing Leader 5 years in production 100s of customers & users Starts every 10 secs worldwide Over 15,000,000
Scaling Database Performance in Azure
Scaling Database Performance in Azure Results of Microsoft-funded Testing Q1 2015 2015 2014 ScaleArc. All Rights Reserved. 1 Test Goals and Background Info Test Goals and Setup Test goals Microsoft commissioned
Response Time Analysis
Response Time Analysis A Pragmatic Approach for Tuning and Optimizing Oracle Database Performance By Dean Richards Confio Software, a member of the SolarWinds family 4772 Walnut Street, Suite 100 Boulder,
Preparing a SQL Server for EmpowerID installation
Preparing a SQL Server for EmpowerID installation By: Jamis Eichenauer Last Updated: October 7, 2014 Contents Hardware preparation... 3 Software preparation... 3 SQL Server preparation... 4 Full-Text Search
Asta Powerproject Enterprise
Asta Powerproject Enterprise Overview and System Requirements Guide Asta Development plc Kingston House Goodsons Mews Wellington Street Thame Oxfordshire OX9 3BX United Kingdom Tel: +44 (0)1844 261700
Test Run Analysis Interpretation (AI) Made Easy with OpenLoad
Test Run Analysis Interpretation (AI) Made Easy with OpenLoad OpenDemand Systems, Inc. Abstract / Executive Summary As Web applications and services become more complex, it becomes increasingly difficult
Deployment Planning Guide
Deployment Planning Guide August 2011 Copyright: 2011, CCH, a Wolters Kluwer business. All rights reserved. Material in this publication may not be reproduced or transmitted in any form or by any means,
Response Time Analysis
Response Time Analysis A Pragmatic Approach for Tuning and Optimizing Database Performance By Dean Richards Confio Software 4772 Walnut Street, Suite 100 Boulder, CO 80301 866.CONFIO.1 www.confio.com Introduction
Application Performance Testing Basics
Application Performance Testing Basics ABSTRACT Todays the web is playing a critical role in all the business domains such as entertainment, finance, healthcare etc. It is much important to ensure hassle-free
InfiniteGraph: The Distributed Graph Database
A Performance and Distributed Performance Benchmark of InfiniteGraph and a Leading Open Source Graph Database Using Synthetic Data Objectivity, Inc. 640 West California Ave. Suite 240 Sunnyvale, CA 94086
ProSystem fx Engagement. Deployment Planning Guide
ProSystem fx Engagement Deployment Planning Guide September 2011 Copyright: 2011, CCH, a Wolters Kluwer business. All rights reserved. Material in this publication may not be reproduced or transmitted
ISSN: 2321-7782 (Online) Volume 3, Issue 2, February 2015 International Journal of Advance Research in Computer Science and Management Studies
ISSN: 2321-7782 (Online) Volume 3, Issue 2, February 2015 International Journal of Advance Research in Computer Science and Management Studies Research Article / Survey Paper / Case Study Available online
Whitepaper: performance of SqlBulkCopy
We SOLVE COMPLEX PROBLEMS of DATA MODELING and DEVELOP TOOLS and solutions to let business perform best through data analysis Whitepaper: performance of SqlBulkCopy This whitepaper provides an analysis
Performance Testing of Java Enterprise Systems
Performance Testing of Java Enterprise Systems Katerina Antonova, Plamen Koychev Musala Soft Why Performance Testing? Recent studies by leading USA consultancy companies showed that over 80% of large corporations
CLOUD PERFORMANCE TESTING - KEY CONSIDERATIONS (COMPLETE ANALYSIS USING RETAIL APPLICATION TEST DATA)
CLOUD PERFORMANCE TESTING - KEY CONSIDERATIONS (COMPLETE ANALYSIS USING RETAIL APPLICATION TEST DATA) Abhijeet Padwal Performance engineering group Persistent Systems, Pune email: [email protected]
BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB
BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB Planet Size Data!? Gartner s 10 key IT trends for 2012 unstructured data will grow some 80% over the course of the next
Performance And Scalability In Oracle9i And SQL Server 2000
Performance And Scalability In Oracle9i And SQL Server 2000 Presented By : Phathisile Sibanda Supervisor : John Ebden 1 Presentation Overview Project Objectives Motivation -Why performance & Scalability
The Importance of Continuous Integration for Quality Assurance Teams
The Importance of Continuous Integration for Quality Assurance Teams Without proper implementation, a continuous integration system will go from a competitive advantage for a software quality assurance
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging In some markets and scenarios where competitive advantage is all about speed, speed is measured in micro- and even nano-seconds.
The Deployment Production Line
The Deployment Production Line Jez Humble, Chris Read, Dan North ThoughtWorks Limited [email protected], [email protected], [email protected] Abstract Testing and deployment
Report Paper: MatLab/Database Connectivity
Report Paper: MatLab/Database Connectivity Samuel Moyle March 2003 Experiment Introduction This experiment was run following a visit to the University of Queensland, where a simulation engine has been
Tableau Server Scalability Explained
Tableau Server Scalability Explained Author: Neelesh Kamkolkar Tableau Software July 2013 p2 Executive Summary In March 2013, we ran scalability tests to understand the scalability of Tableau 8.0. We wanted
CS 558 Internet Systems and Technologies
CS 558 Internet Systems and Technologies Dimitris Deyannis [email protected] 881 Heat seeking Honeypots: Design and Experience Abstract Compromised Web servers are used to perform many malicious activities.
Mobile Performance Testing Approaches and Challenges
NOUS INFOSYSTEMS LEVERAGING INTELLECT Mobile Performance Testing Approaches and Challenges ABSTRACT Mobile devices are playing a key role in daily business functions as mobile devices are adopted by most
Mike Chyi, Micro Focus Solution Consultant May 12, 2010
Mike Chyi, Micro Focus Solution Consultant May 12, 2010 Agenda Load Testing Overview, Best Practice: Performance Testing with Diagnostics Demo (?), Q&A Load Testing Overview What is load testing? Type
Microsoft Dynamics NAV 2013 R2 Sizing Guidelines for On-Premises Single Tenant Deployments
Microsoft Dynamics NAV 2013 R2 Sizing Guidelines for On-Premises Single Tenant Deployments July 2014 White Paper Page 1 Contents 3 Sizing Recommendations Summary 3 Workloads used in the tests 3 Transactional
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers Happiest People. Happiest Customers Contents Abstract... 3 Introduction... 3 Performance Comparison... 4 Architecture... 5 Diagram...
Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle
Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle Agenda Introduction Database Architecture Direct NFS Client NFS Server
Offloading file search operation for performance improvement of smart phones
Offloading file search operation for performance improvement of smart phones Ashutosh Jain [email protected] Vigya Sharma [email protected] Shehbaz Jaffer [email protected] Kolin Paul
Load Testing Strategy Review When Transitioning to Cloud
International Journal of Innovative Technology and Exploring Engineering (IJITEE) ISSN: 2278-3075, Volume-3, Issue-9, February 2014 Load Testing Strategy Review When Transitioning to Cloud Tanvi Dharmarha,
Performance Testing Process A Whitepaper
Process A Whitepaper Copyright 2006. Technologies Pvt. Ltd. All Rights Reserved. is a registered trademark of, Inc. All other trademarks are owned by the respective owners. Proprietary Table of Contents
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General
An Overview of Distributed Databases
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 2 (2014), pp. 207-214 International Research Publications House http://www. irphouse.com /ijict.htm An Overview
Cloud Computing at Google. Architecture
Cloud Computing at Google Google File System Web Systems and Algorithms Google Chris Brooks Department of Computer Science University of San Francisco Google has developed a layered system to handle webscale
Rackspace Cloud Databases and Container-based Virtualization
Rackspace Cloud Databases and Container-based Virtualization August 2012 J.R. Arredondo @jrarredondo Page 1 of 6 INTRODUCTION When Rackspace set out to build the Cloud Databases product, we asked many
Tableau Server 7.0 scalability
Tableau Server 7.0 scalability February 2012 p2 Executive summary In January 2012, we performed scalability tests on Tableau Server to help our customers plan for large deployments. We tested three different
Building Scalable Applications Using Microsoft Technologies
Building Scalable Applications Using Microsoft Technologies Padma Krishnan Senior Manager Introduction CIOs lay great emphasis on application scalability and performance and rightly so. As business grows,
Understanding the Benefits of IBM SPSS Statistics Server
IBM SPSS Statistics Server Understanding the Benefits of IBM SPSS Statistics Server Contents: 1 Introduction 2 Performance 101: Understanding the drivers of better performance 3 Why performance is faster
Cache Configuration Reference
Sitecore CMS 6.2 Cache Configuration Reference Rev: 2009-11-20 Sitecore CMS 6.2 Cache Configuration Reference Tips and Techniques for Administrators and Developers Table of Contents Chapter 1 Introduction...
Performance Testing and Improvement in Agile
Performance Testing and Improvement in Agile Ananya Shrivastava Research scholar CSE Department S.V.I.T.S., Indore, India Dr. Dinesh C. Jain Reader CSE Department S.V.I.T.S., Indore, India Abstract- There
6.828 Operating System Engineering: Fall 2003. Quiz II Solutions THIS IS AN OPEN BOOK, OPEN NOTES QUIZ.
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2003 Quiz II Solutions All problems are open-ended questions. In
The Association of System Performance Professionals
The Association of System Performance Professionals The Computer Measurement Group, commonly called CMG, is a not for profit, worldwide organization of data processing professionals committed to the measurement
HP ProLiant BL660c Gen9 and Microsoft SQL Server 2014 technical brief
Technical white paper HP ProLiant BL660c Gen9 and Microsoft SQL Server 2014 technical brief Scale-up your Microsoft SQL Server environment to new heights Table of contents Executive summary... 2 Introduction...
Transactions and ACID in MongoDB
Transactions and ACID in MongoDB Kevin Swingler Contents Recap of ACID transactions in RDBMSs Transactions and ACID in MongoDB 1 Concurrency Databases are almost always accessed by multiple users concurrently
VMware vcenter 4.0 Database Performance for Microsoft SQL Server 2008
Performance Study VMware vcenter 4.0 Database Performance for Microsoft SQL Server 2008 VMware vsphere 4.0 VMware vcenter Server uses a database to store metadata on the state of a VMware vsphere environment.
SyncTool for InterSystems Caché and Ensemble.
SyncTool for InterSystems Caché and Ensemble. Table of contents Introduction...4 Definitions...4 System requirements...4 Installation...5 How to use SyncTool...5 Configuration...5 Example for Group objects
Azure Scalability Prescriptive Architecture using the Enzo Multitenant Framework
Azure Scalability Prescriptive Architecture using the Enzo Multitenant Framework Many corporations and Independent Software Vendors considering cloud computing adoption face a similar challenge: how should
DATABASE. Pervasive PSQL Performance. Key Performance Features of Pervasive PSQL. Pervasive PSQL White Paper
DATABASE Pervasive PSQL Performance Key Performance Features of Pervasive PSQL Pervasive PSQL White Paper June 2008 Table of Contents Introduction... 3 Per f o r m a n c e Ba s i c s: Mo r e Me m o r y,
Load Testing Analysis Services Gerhard Brückl
Load Testing Analysis Services Gerhard Brückl About Me Gerhard Brückl Working with Microsoft BI since 2006 Mainly focused on Analytics and Reporting Analysis Services / Reporting Services Power BI / O365
Performance Testing Tools: A Comparative Analysis
Performance Testing Tools: A Comparative Analysis Shagun Bhardwaj Research Scholar Computer Science department Himachal Pradesh University Shimla Dr. Aman Kumar Sharma Associate Professor Computer Science
XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April 2009. Page 1 of 12
XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines A.Zydroń 18 April 2009 Page 1 of 12 1. Introduction...3 2. XTM Database...4 3. JVM and Tomcat considerations...5 4. XTM Engine...5
Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity
P3 InfoTech Solutions Pvt. Ltd http://www.p3infotech.in July 2013 Created by P3 InfoTech Solutions Pvt. Ltd., http://p3infotech.in 1 Web Application Deployment in the Cloud Using Amazon Web Services From
Why study Operating Systems? CS 372. Why study. Why study. Introduction to Operating Systems
CS 372 Introduction to Operating Systems Lorenzo Alvisi Amitanand Aiyer Can t I just buy a couple $5 CD at the Campus Store and be done with it? To learn how computers work To learn how to manage complexity
How to Configure a Stress Test Project for Microsoft Office SharePoint Server 2007 using Visual Studio Team Suite 2008.
How to Configure a Stress Test Project for Microsoft Office SharePoint Server 2007 using Visual Studio Team Suite 2008. 1 By Steve Smith, MVP SharePoint Server, MCT And Penny Coventry, MVP SharePoint Server,
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann [email protected] Universität Paderborn PC² Agenda Multiprocessor and
QLIKVIEW ARCHITECTURE AND SYSTEM RESOURCE USAGE
QLIKVIEW ARCHITECTURE AND SYSTEM RESOURCE USAGE QlikView Technical Brief April 2011 www.qlikview.com Introduction This technical brief covers an overview of the QlikView product components and architecture
http://support.oracle.com/
Oracle Primavera Contract Management 14.0 Sizing Guide October 2012 Legal Notices Oracle Primavera Oracle Primavera Contract Management 14.0 Sizing Guide Copyright 1997, 2012, Oracle and/or its affiliates.
Levels of Software Testing. Functional Testing
Levels of Software Testing There are different levels during the process of Testing. In this chapter a brief description is provided about these levels. Levels of testing include the different methodologies
Rapid Bottleneck Identification
Rapid Bottleneck Identification TM A Better Way to Load Test WHITEPAPER You re getting ready to launch or upgrade a critical Web application. Quality is crucial, but time is short. How can you make the
Efficient database auditing
Topicus Fincare Efficient database auditing And entity reversion Dennis Windhouwer Supervised by: Pim van den Broek, Jasper Laagland and Johan te Winkel 9 April 2014 SUMMARY Topicus wants their current
A Case Study in Integrated Quality Assurance for Performance Management Systems
A Case Study in Integrated Quality Assurance for Performance Management Systems Liam Peyton, Bo Zhan, Bernard Stepien School of Information Technology and Engineering, University of Ottawa, 800 King Edward
Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11
Oracle Primavera Contract Management 14.1 Sizing Guide July 2014 Contents Introduction... 5 Contract Management Database Server... 5 Requirements of the Contract Management Web and Application Servers...
