Chapter 14: Network Performance and Scalability


Overview

The previous 13 chapters introduced a number of network classes, including streams, sockets, and Hypertext Transfer Protocol (HTTP). The complexities of these three fundamental classes can be overwhelming at first, and the prospect of writing scalable, high-performance applications might seem daunting. The good news is that it s less difficult than it seems. The secret to developing applications that offer high performance and scalability rests on understanding three things: the underlying protocol, the asynchronous I/O pattern, and resource management. In addition to these three basic considerations, the Microsoft .NET Framework Web classes require additional knowledge, since these classes hide many of the underlying operations.

First, let s define what we mean by high performance and scalability. High performance is the ability of an application to send and receive data in the most efficient way possible. Scalability is an application s ability to handle anywhere from one to thousands of connections or requests without significantly impacting client performance (such as starving a connection). As clients are added, the amount of required system resources follows a linear path . A scalable application should be able to handle an increasing number of connections or requests until system resources are exhausted ”rather than failing at the point where the application design creates a bottleneck.

This chapter will cover several general principles for designing applications for performance and scalability, including how the underlying protocol affects performance, tips for using the asynchronous I/O pattern, and resource management. These principles apply to the .NET Framework Socket class and to the Web- related classes covered in Chapters 8, 9, and 10. We ll also cover issues specific to the Web classes, such as managing threads and connections, issues specific to the HTTP verbs GET and POST , and authentication, among other topics.




Network Programming for the Microsoft. NET Framework
Network Programming for the MicrosoftВ® .NET Framework (Pro-Developer)
ISBN: 073561959X
EAN: 2147483647
Year: 2003
Pages: 121

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net