90 likes | 209 Vues
Join Richard Campbell, Co-Founder and Chief Evangelist of Strangeloop Networks, as he shares his journey into the world of web server optimization. With decades of experience in scaling applications, Campbell discusses essential strategies for testing and instrumenting web servers and caching mechanisms. Learn how to effectively diagnose performance issues, conduct load tests, and implement caching practices that truly enhance application efficiency. This session provides practical insights into making web apps more resilient and responsive.
E N D
Death of a Web Server Richard Campbell Strangeloop Networks richard@strangeloopnetworks.com
Richard Campbell • Background • First laid hands on a microcomputer in 1977, its been downhill since then • Spent the last 15 years helping companies scale applications on a variety of platforms • Currently • Co-Founder and Chief Evangelist of Strangeloop Networks • Co-Host of .NET Rocks! • Host of RunAs Radio!
Agenda • Setting the Stage • Testing the Web Site • Instrumentinga Web Server • Instrumentingand Analyzing Caching • Actually Solving the Problem
Setting the Stage • The Portable Data Center • Load Test Machine • Web Server • Database Server • Software • Windows 2008 Server 64 bit • Visual Studio 2008 Test Edition
Testing the Web Site • Building Good Tests • Know reality! Get log data • Different kinds of load tests • Test to failure • Soak test
Instrumenting a Web Server • Perf Mon is your friend! • CPU Utilization • Requests per Second • Requests Queued • Bytes in the .NET Heap
Instrumenting Caching • Log every time: • A cache item gets populated • A cache item is destroyed • A cache item gets used
Actually Fixing the Problem • Don’t cache what doesn’t get reused! • Choices: • Don’t cache datasets with unbounded parameters • Bound the parameters
Summary • Diagnosis is the most challenging part of the process • Use facts – instrument everything! • Theorize probable cause, then prove it • Consider a variety of solutions