Performance Testing. Configuration Parameters for Performance Testing

Similar documents
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers

Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services

Performance Tuning Guidelines for Windows Server 2008 R2

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

BridgeWays Management Pack for VMware ESX

SQL Server 2012 Performance White Paper

SQL Server 2008 Performance and Scale

The Windows Web Platform. Michael Epprecht Microsoft Switzerland twitter: fastflame

Virtuoso and Database Scalability

IT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including:

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version Fix Pack 2.

Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010

SQL Server 2012 Optimization, Performance Tuning and Troubleshooting

VMWARE WHITE PAPER 1

Cognos Performance Troubleshooting

Load Testing and Monitoring Web Applications in a Windows Environment

Multi-core and Linux* Kernel

SQL Server Business Intelligence on HP ProLiant DL785 Server

Windows Server Performance Monitoring

CA Unified Infrastructure Management

Intel DPDK Boosts Server Appliance Performance White Paper

HP ProLiant BL660c Gen9 and Microsoft SQL Server 2014 technical brief

PERFORMANCE TUNING ORACLE RAC ON LINUX

Performance Evaluation of VMXNET3 Virtual Network Device VMware vsphere 4 build

Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

Microsoft SQL Server OLTP Best Practice

Stingray Traffic Manager Sizing Guide

theguard! ApplicationManager System Windows Data Collector

SiteCelerate white paper

Performance Modeling for Web based J2EE and.net Applications

Module 3: Instance Architecture Part 1

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as:

Delivering Quality in Software Performance and Scalability Testing

Server Consolidation with SQL Server 2008

Web Performance, Inc. Testing Services Sample Performance Analysis

Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment Analyzer

Technical Paper. Moving SAS Applications from a Physical to a Virtual VMware Environment

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design

Rackspace Cloud Databases and Container-based Virtualization

Solving Performance Problems In SQL Server by Michal Tinthofer

Top 10 Performance Tips for OBI-EE

MID-TIER DEPLOYMENT KB

Boost SQL Server Performance Buffer Pool Extensions & Delayed Durability

Mobile Test Automation - Right Tools and Right Approach

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

CHAPTER 3 PROBLEM STATEMENT AND RESEARCH METHODOLOGY

JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers

Oracle Database Scalability in VMware ESX VMware ESX 3.5

Perfmon counters for Enterprise MOSS

Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1

Oracle Database In-Memory The Next Big Thing

Performance And Scalability In Oracle9i And SQL Server 2000

SAP HANA - Main Memory Technology: A Challenge for Development of Business Applications. Jürgen Primsch, SAP AG July 2011

Energy Constrained Resource Scheduling for Cloud Environment

Performance Test Report KENTICO CMS 5.5. Prepared by Kentico Software in July 2010

Cisco Integrated Services Routers Performance Overview

Whitepaper: performance of SqlBulkCopy

CA Nimsoft Monitor Snap

Distribution One Server Requirements

Crystal Reports Server 2008

Real-Time Scheduling 1 / 39

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

WHITE PAPER FUJITSU PRIMERGY SERVER BASICS OF DISK I/O PERFORMANCE

With each new release of SQL Server, Microsoft continues to improve

Resource Utilization of Middleware Components in Embedded Systems

Kentico CMS 6.0 Performance Test Report. Kentico CMS 6.0. Performance Test Report February 2012 ANOTHER SUBTITLE

Exploiting Remote Memory Operations to Design Efficient Reconfiguration for Shared Data-Centers over InfiniBand

Migrating IIS 6.0 Web Application to New Version Guidance

Optimizing the Performance of Your Longview Application

Key Components of WAN Optimization Controller Functionality

Performance and scalability of a large OLTP workload

An Oracle Technical White Paper November Oracle Solaris 11 Network Virtualization and Network Resource Management

Azure Scalability Prescriptive Architecture using the Enzo Multitenant Framework

How System Settings Impact PCIe SSD Performance

Microsoft Office SharePoint Server 2007 Performance on VMware vsphere 4.1

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB

Windows Server 2008 R2 Hyper V. Public FAQ

Intel Data Direct I/O Technology (Intel DDIO): A Primer >

ProSystem fx Engagement. Deployment Planning Guide

Advanced Core Operating System (ACOS): Experience the Performance

Best Practices for Optimizing SQL Server Database Performance with the LSI WarpDrive Acceleration Card

Accelerating Server Storage Performance on Lenovo ThinkServer

Deployment Planning Guide

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

The Microsoft Windows Hypervisor High Level Architecture

Best Practices for Deploying SSDs in a Microsoft SQL Server 2008 OLTP Environment with Dell EqualLogic PS-Series Arrays

DATABASE. Pervasive PSQL Performance. Key Performance Features of Pervasive PSQL. Pervasive PSQL White Paper

The International Journal Of Science & Technoledge (ISSN X)

How To Save Power On A Server With A Power Management System On A Vsphere Vsphee V (Vsphere) Vspheer (Vpower) (Vesphere) (Vmware

white paper Capacity and Scaling of Microsoft Terminal Server on the Unisys ES7000/600 Unisys Systems & Technology Modeling and Measurement

Cache Configuration Reference

Optimizing Shared Resource Contention in HPC Clusters

Technical Paper. Performance and Tuning Considerations for SAS on Fusion-io ioscale Flash Storage

PEPPERDATA IN MULTI-TENANT ENVIRONMENTS

Hardware Recommendations

Performance and Tuning Guide. SAP Sybase IQ 16.0

Understanding the Benefits of IBM SPSS Statistics Server

Power efficiency and power management in HP ProLiant servers

Building Scalable Applications Using Microsoft Technologies

Using Multipathing Technology to Achieve a High Availability Solution

Transcription:

Optimizing an ecommerce site for performance on a global scale requires additional oversight, budget, dedicated technical resources, local expertise, and specialized vendor solutions to ensure that international shoppers get the same optimal online shopping experience that domestic ones are used to. Configuration Parameters for Performance sensitive parameters for.net, IIS 8.0, SQL Server 2012 and Windows 2012 - A Gallop Insight

Introduction Given the rising complexity of the system architectures, it has become a herculean task to ensure the performance of the IT system. In fact, the review of the performance of the components and processes of the system is the first step to ensure impeccable products/applications. However, some of the factors that inhibit performance can be traced to default settings, network, disk storage, load balancing strategy, database environment, application environment etc. To get a good head start and maintain long term consistency, it is essential to understand the performance sensitive parameters in the applications to ensure highest standards of performance. At Gallop, we understand the role and impact of performance testing across technologies and verticals. Having delivered game changing services to some of the most complex IT systems, Gallop s performance testing teams provide deep insights into application s performance through world class performance engineering expertise. This white paper incorporates the insights of Gallop s experts to serve as a reference for performance sensitive parameters across.net platform, IIS 8.0, SQL Server 2012 and Windows 2012. a 1-Second Delay in Page Load time = 7% 11% loss in conversion Fewer PageViews 16% Decrease in customer satisfaction A Gallop Insight Gallop proprietary & confidential. Not for public distribution www.gallop.net 1

.NET Garbage Collection Performance Sensitive Configuration Parameters Garbage Collection is the integral part of.net Framework. The.Net garbage collector automatically allocates and releases the memory for your application. The garbage collector engine performs a collection based upon the allocation being made reclaim the memory of objects that are no longer being used by application. It is recommended to use default configuration value always but there might be cases when you might need to change it. Following are two configuration parameters that can be tweaked for performance gains C onfig uration <gcserver> <gcconcurrent> D escription / Notes» Specifies if the CLR runs server garbage collection» Server GC is optimized for throughput and multi-processor scalability» In the.net framework 4 and earlier versions, concurrent garbage collection is not available when server garbage collection is enabled. Starting with the.net Framework 4.5, server garbage collection is concurrent and for using non-concurrent server garbage collection, <gcconcurrent> element can be set» Specifies whether the CLR runs garbage collection on a separate thread» Leave concurrent garbage collection enabled, if application involves heavy user interaction 3 5 out of People say that poor performance will make them less likely to return to the website A Gallop Insight Gallop proprietary & confidential. Not for public distribution www.gallop.net 2

IIS 8.0 Performance Sensitive Configuration Parameters IIS 8.0 is the version that ships as part of Windows Server 2012. It uses process model similar to IIS 6.0. A kernel mode web driver (http.sys) receives and routes HTTP requests, and it can satisfy requests from its response cache. Worker processes register for URL subspaces, and http.sys routes the requests to appropriate process (or set of processes for application pools). Http.sys is responsible for connection management and request handling. The request can be served from the http.sys cache or passed to a worker process for further handling. Some web application platforms such as ASP.NET, provides mechanism to enable any dynamic content to be cached in the kernel-mode cache. The static file handler in IIS 8.0 automatically caches frequently requested files in http.sys. Web server has kernel mode and user mode components, both components must be tuned for optimal performance. Kernel-Mode Driver / Http.sys Caching Configurable attributes - UriEnableCache, UriMaxCacheMegabyteCount, UriMaxUriBytes, UriScavengerPeriod Consider disabling it when Kernel: URI Cache Hit % is low If enough memory is available, consider increasing the limit. If memory is limited and large entries are crowding out smaller ones, it might be helpful to lower the limit In case of too many cache flush / churn (Kernel: URI Cache Flushes), consider configuring the value of UriScavengerPeriod Requests and connections In Windows Server 2012, http.sys manages connections automatically 57% of online consumers will abandon a site after waiting for 3 seconds for a page load. A Gallop Insight Gallop proprietary & confidential. Not for public distribution www.gallop.net 3

User-Mode / Worker Process Application Pools ASP.NET Concurrency Caching Compression Default Document List Central Binary Logging Configurable attributes queuelength, enable32bitapponwin64 Indicates to http.sys that how many requests are queued for an application pool before future requests are rejected with a 503 error message Consider enabling 32-bit mode if memory consumption is a concern Configurable attributes MaxConcurrentRequestPerCpu Limits the maximum number of concurrently executing ASP.NET requests on a system. Consider increasing this limit on systems that run applications that perform long, synchronous I/O operations Configurable attributes - Enabled, enablekernelcache, maxcachesize, maxresponsesize Disabling the user-mode cache doesn t disable the kernel-mode cache Consider disabling it completely if cache hit ratio is very low Caching large, frequently requested files can reduce CPU usage, disk access and associated latencies Configurable attributes - staticcompression-enablecpuusage, staticcompression-disablecpuusage, dynamiccompression-enablecpuusage, dynamiccompression-disablecpuusage, enablekernelcache, directory, dodiskspacelimiting, maxdiskspaceusage, dostaticcompression, dodynamiccompression Compression reduces bandwidth usage but increases CPU usage. IIS 8.0 automatically disables compression if steady-state CPU increases above the Disable threshold. Consider moving the directory (where compressed version of static files are temporary stored) off to the system drive if it is accessed frequently Consider enabling compression for dynamic content, if response are large and CPU utilization is low Configurable attributes - Enabled, <files> element When an HTTP request does not specify a file name, the default document module searches the list of allowed default documents for each name in the file system. This can adversely affect performance, especially if reaching the content requires making a network round trip or touching a disk. Overhead can be avoided by selectively disabling default documents and by reducing or ordering the list of documents Configurable attributes centrallogfilemode, enabled, directory Binary IIS logging reduces CPU usage, disk I/O and disk space usage Consider moving the location of the central log file off the system partition and onto a dedicated logging partition to avoid contention between system activities and logging activities IIS 8.0 Modules Consider removing all modules that are not relevant to a particular site for conserving CPU cycles and memory Worker Process and Recycling Configurable attributes memory, privatememory, requests, time Consider turning on the recycling option during acute situation like memory leaks, increasing memory load, unresponsive or idle worker processes When a worker process is recycled, the queued and executing requests are drained and a new process is simultaneously started to service new requests A Gallop Insight Gallop proprietary & confidential. Not for public distribution www.gallop.net 4

There are few more tuning parameters for IIS 8.0 but are very specific to requirements and won t be discussing in this article Classic ASP Settings Secure Socket Layer (SSL) settings ISAPI settings Installation of filters that are not cache-aware Common Gateway Interface (CGI) requests References: 1. Performance Tuning Guidelines for Windows Server 2012 http://download.microsoft.com/download/0/0/b/00be76af-d340-4759-8ecd-c80bc53b6231/performance-tuning-guidelines-windows-server-2012.docx 35% of people recall the page that was slower than it actually was When recounting the web experience to others. A Gallop Insight Gallop proprietary & confidential. Not for public distribution www.gallop.net 5

SQL Server 2012 Performance Sensitive Configuration Parameters SQL server has plethora of configuration options and mainly can be divided into three levels Server, Database and Connections. Many options overlap each other and hence will be separated by topics. This article doesn t cover all options but only the most important one in terms of performance. Startup P arameters Server Database Connec tions Flag -T834» Enable SQL Server to use larger pages Flag x» Disable SQL Server Performance counters and avoid potential overhead Startup Stored P roc edures Server Database Connec tions Scan for startup» Mark for automatic execution of stored procedures at SQL Server startup procs» Try enabling it when having an expensive query that takes a long time to run at first execution Memory Configurations Server Database Connec tions Dynamic Memory» The goal is to have enough memory available so that windows don t need to swap pages from physical Minimum memory to virtual memory support file (pagefile.sys)» It prohibits SQL Server from reducing memory below a certain point Dynamic Memory» It prevents SQL server to grow beyond point where it can start contending with other applications or Maximum operating system Fixed Memory Size» Usually don t see any performance gains from switching from dynamic memory to fixed memory Minimum Query» Increasing this value may provide better performance for some queries but might cause risk of memory Memory shortage Query Wait» Alter it if there is a large query and taking longer time to complete Index Create Memory» The amount of memory SQL server uses to perform sorts when creating an index A Gallop Insight Gallop proprietary & confidential. Not for public distribution www.gallop.net 6

SQL Server 2012 Performance Sensitive Configuration Parameters P roc essor Configurations Server Database Connec tions Processor Affinity» Allocate particular CPUs for disk IO processing and non-disk related CPU requirements Maximum Worker Threads Boost SQL Server Priority on Windows Lightweight Pooling Max degree of parallelism Cost threshold for parallelism Max Concurrent User Connections» Depending on the number of connections and the percentage of time those connections are idle, making number of worker threads lesser than number of connections force connection pooling, conserve memory and improve performance» The default value indicates SQL server automatically determines the correct number of active worker threads based on user requests» The default value is set to normal (7) and it is recommended not to change it» Use it to reduce the overhead of frequently switching processes among the CPUs» It is recommended to use the default value though i.e. 0» SQL Server detects the best number of processors to run a single statement for each parallel plan» It can be used to limit the number of processors to use in a parallel plan execution» The default value of the max degree of parallelism option is 0, which tells SQL server to use all the available processors» The performance of SQL Server can degrade if more than 8 processors are used in a parallel plan» For servers that have NUMA configured, the option should not exceed the number of CPUs assigned to each NUMA node» For servers that have hyper threading enabled, the option should not exceed the number of physical processors» It is recommended to use default value Connec tion Configurations Server Database Connec tions» The default is unlimited user connections» Each connection has overhead whether is used or not» Maximum, 32,767 user connections are allowed Query Cost Governor» The query governor limits the queries that SQL server can run according to estimated query cost on a specific hardware configuration» Use the query governor cost limit option to stop long-running queries before they start and thereby help prevent system resources from being consumed by these long running queries Network Packet Size» It is recommended to use default value» Use it only when the data passed tends to greatly exceed the default size i.e. 4KB such as large text or image data A Gallop Insight Gallop proprietary & confidential. Not for public distribution www.gallop.net 7

Windows 2012 Server Performance Sensitive Configuration Parameters When you run a server system, default settings might not meet the performance requirements of business needs. For example, for some business needs lowest energy consumption is preferred and for others it could be low latency and high throughput. This article will provide pointer to some of the common configuration parameters associated with processor & network of the Windows 2012 server. Processor Power Manag ement Performance Boost Mode Minimum and Maximum Performance State» The default value for Boost mode is 3 i.e. Efficient Enabled» Turbo is enabled for High Performance power plans on all Intel and AMD processors and it is disabled for Power Saver plans» Processors change between performance states ( P-states ) very quickly to match supply to demand, delivering performance where necessary and saving energy when possible» Alter this setting if your server has specific high-performance or minimum power-consumptions requirements» If your server requires ultra-low latency, invariant CPU frequency, or the highest performance levels, you might not want the processors switching to lowerperformance states, and for such server, you can cap the minimum processor performance state at 100 percent» Cores that are chosen to park generally do not have any threads scheduled, and they will drop into very low power states when they are not processing interrupts, DPCs, or other strictly affinities work» Core parking can potentially increase energy efficiency during lower usage periods on the server because parked cores can drop into deep low-power states Performance Core Parking Maximum and Minimum Cores Performance Core Parking Utility Distribution» The Processor Performance Core Parking Maximum Cores parameter controls the maximum percentage of cores that can be unparked (available to run threads) at any time, while the Processor Performance Core Parking Minimum Cores parameter controls the minimum percentage of cores that can be unparked» Utility Distribution is an algorithmic optimization in Windows Server 2012 that is designed to improve power efficiency for some workloads» Utility Distribution is enabled by default for the balanced power plans for some processors. It can reduce processor power consumption by lowering the requested CPU frequencies of workloads that are in a reasonably steady state» Utility Distribution is not necessarily a good algorithmic choice for workloads that are subject to high activity bursts or for programs where the workload quickly and randomly shifts across processors. For such workloads, it is recommended to disable the Utility Distribution A Gallop Insight Gallop proprietary & confidential. Not for public distribution www.gallop.net 8

Windows 2012 Server Performance Sensitive Configuration Parameters Networking Subsytem Enabling Offload Features Enabling RSS for Web Scenarios RSS Profiles and RSS Queues Increasing Network Adapter Resources Enabling Interrupt Moderation» Turning on network adapter offload features is usually beneficial» You should enable offload capabilities, if the reduced throughput is not expected to be a limitation» Some network adapters require offload features to be independently enabled for send and receive paths» RSS can improve web scalability and performance when there are fewer network adapters than logical processors on the server» When all the web traffic is going through the RSS-capable network adapters, incoming web requests from different connections can be simultaneously processed across different CPUs» Performance can be severely degraded if a non-rss-capable network adapter accepts web traffic on a server that has one or more RSS-capable network adapters» If logical processors seem to be underutilized for receive traffic, try increasing the number of RSS queues from the default of 2 to the maximum that is supported by your network adapter» The default profile is NUMA Static» Some network adapters set their receive buffers low to conserve allocated memory from the host. The low value results in dropped packets and decreased performance. Therefore, for receive-intensive scenarios, it is recommended to increase the receive buffer value to the maximum» Consider interrupt moderation for CPU-bound workloads, and consider the trade-off between the host CPU savings and latency versus the increased host CPU savings because of more interrupts and less latency» If the network adapter does not perform interrupt moderation, but it does expose buffer coalescing, increasing the number of coalesced buffers allows more buffers per send or receive, which improves performance A Gallop Insight Gallop proprietary & confidential. Not for public distribution www.gallop.net 9

Disclaimer: This white paper is issued for information only. Gallop declines all responsibility for any errors and any loss or damage resulting from use of the contents of this White Paper. Gallop also declines responsibility for any infringement of any third party's Intellectual Property Rights but will be pleased to acknowledge any IPR and correct any infringement of which it is advised. About the White Paper: At Gallop, innovation is a continuous endeavour to ensure the best services in every engagement. As part of the Global Thought Leadership Initiative 2014 (GTLI 2014), Gallop consolidates and communicates information that enriches Software Testing as a discipline. The White Paper is a part of GTLI 2014. The content is an incorporation of inputs and observations from Gallop s experts and business leaders with cross vertical experience in addressing some of the most complex and most gigantic software testing challenges. For more details write to contact@gallop.net About Gallop Gallop is a Pure play Independent Testing Services company since 2003. Focused on North America with access to a pool of over 47,000 career testers in the US, Gallop has 150+ career testers across North America. In addition to Propriety Testing IP (ETAS) for enhanced productivity, Gallop has Partnerships & Alliances with leading Test Tool vendors. Gallop has a strong Executive Management Team with proven experience which has led us to become a Trusted QA Partner for leading ISVs and Enterprises. A Gallop Insight Gallop proprietary & confidential. Not for public distribution www.gallop.net 10