From the Editor
September 8, 2008
As a former Field Engineer for Microsoft, we often focused on performance.
Here is the key point - many customers simply fail to adequately load test their
applications. Typically, the developer checks in his code, makes sure it compiles,
performs some cursory tests, and passes the code to the QA department - that is
if the company has a QA department! I often would encounter companies where
production was the test environment. And the results can be disastrous. Imagine
you are a financial services company that provides on-line trading of stocks and
bonds. Imagine that 100’s of traders go down during trading hours. I’ve seen it
and it isn’t pretty.
I would ask, “How does the application perform in the test environment?” The
typical deer in the headlights response is, “What test environment?”
If I got lucky, I would actually find companies that have already developed unit
tests and have observed their applications under load. Many of you already know
that Visual Studio Team System excels at all this stuff. Visual Studio allows you to
collect test data (such as performance counter values), test error messages, test
execution load, and then analyze the test data all from within the Visual Studio tools.
Does this stuff work? You bet it does. Load testing minimizes surprises, like
when the 1,000th user brings the app to a crawl. For business applications the
answer usually lies in the database, where an index is missing and one of the
queries is taking forever. SQL Profiler can tell you this.
But maybe the app is slow for other reasons. Often too many users put memory
pressure on an application. Perhaps the CPU is spinning wildly, trying to save
RAM to disk to free up memory. Perhaps the CPU is just sitting idle, not doing
anything, due to a deadlock issue among threads. Diagnosing slow applications can
be complex, particularly when you have memory corruption or contention issues
with threads. Moral of the story – test, test, test! You never know how your app
will perform under load until you test it.
Visual Studio Team System 2008 Test Edition has web testing tools that enable
you to record repeatable tests and generate code automatically to reduce time to
create, execute, and maintain tests. You can accurately simulate user loads to give
testers insight into Web application and server performance under the loads that
systems are likely to encounter when an application goes live. The results can provide
guidance as to what works under load, what breaks, and where additional capacity
is needed, helping to ensure that the software functions as intended when it is launched.
There is a seminar put on by International Association of Software Architects happening
in San Francisco on October 6-8th. It is a great time of year to be in San Francisco.
Architect & IASA Connections (10/6-10/8)
Don’t miss this unique event for IT & Software Architects that will impact how you think,
design & innovate – and help guide you as a professional architect. The conference offers
over 70 in-depth sessions from industry experts including lots of great architecture advice
for your WCF, Workflow and WPF applications. The first 100 attendees will receive Visual S
tudio 2008 Professional & IASA Membership. Visit www.IASAConnections.com
or call 800-438-6720.
Also, keep in mind that I will be hosting the upcoming MSDN Event - Visual Studio 2008,
WPF and Vista Security. The schedule currently has me in Fresno on 9/16, Berkeley on 9/18,
and San Francisco on 10/7. I will cover WCF, WPF, Silverlight, REST, Vista Security, and
much more! ). All event information will be listed on MSDNEvents.com.
If you have any questions or topics you want me to write about, please
email me.
Keep your eye on these flashes if you live in San Francisco. I plan to host some gatherings
at the Microsoft San Francisco office to address Vista capabilities – everything from tips and
tricks, to registry hacks, programming, and much more. I will also discuss video production
technologies and some of the tools I use to make video content for teaching purposes.
Thanks for reading,
Bruno
Subscribe to the MSDN
bi-monthly newsletter.