For your convenience Apress has placed some of the front
matter material after the index. Please use the Bookmarks
and Contents at a Glance links to access them.
Download from Wow! eBook <www.wowebook.com>
iii
Contents at a Glance
About the Author................................................................................................ xviii
About the Technical Reviewers ........................................................................... xix
Introduction .......................................................................................................... xx
Chapter 1: Principles and Method ..........................................................................1
Chapter 2: Client Performance..............................................................................13
Chapter 3: Caching ...............................................................................................61
Chapter 4: IIS 7.5 ................................................................................................123
Chapter 5: ASP.NET Threads and Sessions.........................................................159
Chapter 6: Using ASP.NET to Implement and Manage Optimization Techniques199
Chapter 7: Managing ASP.NET Application Policies ...........................................227
Chapter 8: SQL Server Relational Database........................................................259
Chapter 9: SQL Server Analysis Services............................................................337
Chapter 10: Infrastructure and Operations.........................................................371
Chapter 11: Putting It All Together .....................................................................399
Glossary ..............................................................................................................421
Index ...................................................................................................................425
x
x
Introduction
The time that I spent working at Microsoft was an unexpectedly transforming experience. The first half
of my career regularly put me and the companies I worked with in competition with Microsoft, and I was
often surrounded by anti-Microsoft stories and propaganda. However, when I heard about .NET, I
decided I wanted to know more and that the best way to do that was to learn at the source.
As I got into the technology and the company, what I found was more than a little surprising. The
.NET Framework, the C# language, ASP.NET, and SQL Server are sophisticated and technically beautiful
achievements. After working with Java for several years, which also has a definite elegance, it was
refreshing and empowering to use a well–integrated platform, where everything (mostly) worked
together seamlessly. At a technical level, I found that I usually agreed with the decisions and tradeoffs
the platform developers made, and that the resulting system helped to substantially improve my
productivity as a developer, as well as the quality of the resulting software. I also found the Microsoft
engineering teams to be wonderfully bright, creative, and—perhaps most surprising of all to me as a
former outsider—sincerely interested in solving customer problems.
My enthusiasm for the technology helped carry me into a customer–facing position as a solutions
architect at the Microsoft Technology Center in Silicon Valley. Being exposed in–depth to customer
issues was another eye–opening experience. First, I could see first–hand the remarkably positive impact
of Microsoft technologies on many people and companies. Second, I could also see the intense
frustration and poor results that some people were having. This book is, in part, a response to some of
those frustrations.
My perspective is that ASP.NET and SQL Server have tremendous potential. However, key aspects
of the technologies are not obvious. I’ve talked with (and interviewed) many developers and managers
who sense the potential but who have had extreme difficulty when it comes to the implementation.
Unfortunately, realizing the technology’s full potential requires more up–front effort than some
alternative approaches; it’s a rich environment, and to appreciate it fully requires a certain perspective.
One of my goals for this book is to help remove some of the fog that may be masking the end–to–end
vision of the technology and to help you see the beauty and the full potential of ASP.NET and SQL
Server.
Another reason I wrote this book is that I am frustrated constantly by how slow some sites are,
and I’m hoping you will be able to use the information here to help change that. The Web has amazing
possibilities, well beyond even the fantastic level it’s reached already—but they can be realized only if
performance is good. Slow sites are a turn–off for everyone.
My Internet connection today uses an 11 Mbps DSL line, and each of the twelve hyperthreaded
cores in my desktop CPU runs at nearly 3GHz; that’s nearly four times the network bandwidth and three
times the number of CPU cores I had when I wrote the first edition of this book just a couple of years
ago. It’s astonishingly fast. Yet even with that much network and CPU speed, many web pages still take a
long time to load—sometimes a minute or more—and my local network and CPU are almost idle during
that time. As software professionals, that should concern us. I find it almost embarrassing. I want to be
proud of not just my own work but also the work of my profession as a whole. Let’s make our sites not
just fast, but ultra–fast.
INTRODUCTION
xxi
Who This Book Is For
The first two and last two chapters in this book provide information that will be useful to all web
developers, regardless of which underlying technology you use. The middle seven chapters will interest
intermediate to advanced architects and developers who are designing, building or maintaining web
sites using ASP.NET and SQL Server. Experienced web developers who have recently moved from Java or
PHP to .NET will also find lots of valuable and interesting information here.
This book will be useful for nondevelopers who have a technical interest in what makes a web site
fast. In particular, if you’re involved with web site operations, security, testing, or management, you will
discover many of the principles and issues that your development teams should be addressing, along
with demonstrations that help drive the points home.
ASP.NET MVC, Windows Azure, and SQL Azure
Although I focus in this book on ASP.NET web forms, IIS, and SQL Server on the server side, you can
apply many of the same fundamental architectural principles to the ASP.NET MVC, Windows Azure, and
SQL Azure platforms. Although ASP.NET MVC has grown substantially since its introduction, Microsoft
originally built it on top of web forms, so the foundation of both systems is the same. Windows Azure for
web applications uses IIS running in virtual machines, and SQL Azure is a slightly trimmed–down,
multi–tenant version of SQL Server. Once you understand the key principles, you will be able to apply
them regardless of the platform or language.
Contacting the Author
You can reach me at rick@12titans.net. Please visit my web site at www.12titans.net.
I would love to hear about your experiences with the ultra–fast approach.
Techniques to improve performance and scalability are constantly evolving, along with the
underlying technology. I am very interested in hearing about any techniques I haven’t covered here that
you find to be effective.
Please let me know if you find any errors in the text or the code samples, or tweaks that can make
them even better.
Acknowledgments
For the first edition I would like to thank Ewan Buckingham for his early support and encouragement;
Matthew Moodie for help with overall structure and flow; Simon Taylor and Phil de Joux for technical
reviews; Anita Castro for project management; and Kim Wimpsett for copyediting.
For the current edition, I’d like to thank Matthew Moodie again as lead editor; Fabio Ferracchiati
and Eric Lawrence for technical reviews; Adam Heath for project management; and Chandra Clark for
copyediting.
评论5
最新资源