Posts

Showing posts with the label Performance Engineering

Usage of Mind Map in Performance Engineering

Image
Mind maps can be fantastic tools to aid analyzing performance bottlenecks.  If done correctly, it not only help identifying bottlenecks faster but document analysis tips for rest of the team and for later usage.  Below mind map is an example of root cause analysis when page load time is observed to be high. Most of the time, when response time of a web request is found to be high, performance tester starts digging out the fault on server side.  It is not always true to have the issue lying at server side and on database server.  The issue can exist anywhere in the delivery chain.  I usually follow below order while identifying the issue of high response time. Step 1:  Issue with Tool / Scripts Before checking anywhere else, it is advisable to validate the scripts and tools being used for performance testing. »         Does high response time include think time unknowingly? »         Is there redundant logic (e.g. client side functionality) inside transaction for

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 Management Performance Boost Mode »         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 Minimum and Maximum Performance State »         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 spec

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 Parameters Flag -T834 »         Enable SQL Server to use larger pages Flag –x »         Disable SQL Server Performance counters and avoid potential overhead Startup Stored Procedures Scan for startup procs »         Mark for automatic execution of stored procedures at SQL Server startup »         Try enabling it when having an expensive query that takes a long time to run at first execution Memory Configurations Dynamic Memory Minimum »         The goal is to have enough memory available so that windows don’t need to swap pages from physical memory to virtual memory support file (pagefile.sys) »         I

.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 Configuration Open Source / Free Tools < gcServer > »         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