Linux socket programming

Linux socket programming

Linux Server About Us Links Downloads Contact Us Terms of use SiteMap
Linux socket programming
Linux socket programming

 

You are here: Linux Server >>Linux socket programming

Linux socket programming article lists.

Linux socket programming

Dressed To Thrill




Do you want to look good—i mean Ricky Martin- or Jennifer Lopez-good—to your enterprise customers? Then try on Linux 2.4, the new look of enterprise operating systems.

In the past, we've found that Linux makes an outstanding Web or file server. On the Web, armed with the Apache Web server, Linux 2.2.x machines have long stood with the BSD servers as the best, least expensive Web servers. In offices, powered by the Samba server message block (SMB) service, Linux makes for a fine Windows-compatible file server.

Linux 2.4, however, is ready for more—much more—with its enterprise-class features, including major-league symmetric multiprocessing (SMP), multithreaded networking with improved CPU performance, improved memory handling, logical volume management, better handling of RAID drives, and a kernel-level Web daemon. Put them together and you not only have a great Web server and departmental file server, you also have a server capable of enterprise services from massive database engines to enterprisewide file serving.

Same Size, Better Fit While Linux's memory requirements haven't expanded—you can still run Linux in 32MB of RAM—2.4 can handle the kind of resources that an enterprise server needs.

Starting from the top, SMP has long been in Linux, but, despite Linux fans' claims, it's never worked well enough for 24 x 7 business purposes. Things have changed. Now you can smoothly run up to 64 processors in a single box.

Networking also has been significantly improved. Here, there's been no single, big advance but several important steps forward that put Linux networking on par with BSD, the current champion of network operating systems.

First among the improvements is the "wake-one" approach to handling network socket events. With Linux 2.2, when you had multiple processes waiting for a network event, each one would get a few microseconds of processor time to see if the event was for them. That made network responses slower than they had to be. Under Linux 2.4, only one process is awakened at a time. The end result is snappier Web and ftp server performance, as well as other network service performance.

Network performance in general also has been tuned up, thanks to a complete rewriting of the network layer. In addition to being multithreaded, the whole system has been cleaned up. In particular, Linux 2.4 networking will be much more stable on SMP boxes and can handle far more network interfaces per system.

The kernel-level Web server daemon, khttpd, also helps Web server performance. It is not, however, a replacement for Apache or any other Web server. Khttpd does nothing but pass along static data to Web users. For anything else, dynamic data or common gateway interface (CGI) requests, khttpd passes the requests along to the Web server. For all intents and purposes, khttpd gives a performance kick in the pants to any Web server dealing with static information like plain HTML pages and images.

Letting Out the Seams Of course, to give all of those fast new network requests, you need more RAM and drive space. Linux 2.4 gives you that in spades. You now can address up to 32GB of RAM with 32-bit processors, and up to 64GB with 64-bit processors. Whether you've got big databases or thousands of users, the new Linux has got the addressable RAM to handle your needs.

Disk and file performance also has been dramatically improved. Underneath the hood, the IDE, SCSI and RAID interfaces have been cleaned up and revised, and can support more drives and controllers per system. The big news, though, is the logical volume manager (LVM).

An old enterprise Unix trick, LVM lets you span and manage file systems across disks, whether they're local or remote. On top of that, Linux 2.4 enables Large File Support (LFS) and database and system administrators to have database or log files as large as a mind-boggling 16TB. Yes, Betty, that's terabytes.

Linux also does a much better job of handling any file input/output these days. The new virtual file system has been revised to use only a single cache, instead of separate read and write caches. That zaps several time-wasting bugs and reduces cache demands.

You sew it all up, and you've got yourself a Linux that's almost as scalable as such heavyweight operating systems as AIX and Solaris. Of course, while you can argue until you're blue in the face over just how they compare, Linux does have one clear advantage: It's much less expensive than any of its commercial competitors. Scalable and inexpensive? Sounds good to us.

Linux 2.4's Cut and Finish But will you wear it well? Based on our tests, the answer is an unequivocal yes. Linux 2.4 works better and faster on both single-processor and SMP servers than does Linux 2.2.17. And, within our limited test facilities, it works faster than NT or W2K on minimum configuration systems and keeps pace with W2K in light-load situations.

For low-end server testing, we used Dell 233MHz servers with 64MB of RAM and a 4GB IDE disk drive. An Intel EtherExpress Pro 100B network interface card connected the server to our client network, which is driven by a Synoptics 28115 Fast Ethernet switch. We ran all of the tests at a network speed of 100Mbps. For higher-end SMP server testing, we deployed a Dell PowerEdge 1300 with dual Pentium III 500MHz CPUs and 512MB of RAM.

For file serving, each Linux box ran the Samba 2.07 file server and Apache 1.3.14. On the Windows side, we used W2K Server SP1 and NT 4 SP6a with IIS 4.0.

For every test, we performed a fresh install of the operating system. We let the operating system decide the default disk configuration in each case and made no tuning whatsoever. Clients were a mix of 32 Pentium systems (90MHz to 233MHz) running Windows 9x, representing a real-world sample of client PCs. Each client ran WebBench 4.0 tests to measure Web server performance and NetBench 7 for SMB. Both benchmarks are available from Ziff Davis's eTesting Labs (www.etestinglabs.com).

While our test bed was insufficient to give Linux 2.4 or W2K a proper workout, some things were clear. The first, as we found in our earlier Linux benchmarks, is that if you have old, slow servers, Linux, especially 2.4, is the operating system for you. While the new version will be best known for enabling more powerful servers, its new network process handling made it significantly (10-plus percent) faster on the older machines than its competitors. On the more high-end server, Linux 2.4 ran faster still than NT or Linux 2.2.17 (15-plus percent), but W2K kept pace with it stride-by- stride.

Only testing on large-scale test beds will be able to tell if Linux 2.4 can keep up with W2K Server in enterprise deployments. We think Linux 2.4 shows every sign of being ready and able to handle enterprise services against not just the likes of W2K, but Solaris and HP-UX, as well.

More Tailoring Needed If you're a Linux guru, you don't need to bother with this. But, if you're just getting into the Linux business, there are things you must know before upgrading any customer's systems.

Linux 2.4 is a major release with changes to both the application programming interfaces (API) and the Device Filesystem (devfs). What the API changes mean to you is that many programs that make certain assumptions about how the kernel is going to work, like older Point-to-Point Protocol daemons, will break. No ifs, ands or buts. If you don't know the source code well, bone up on the kernel's Changes document backward and forward.

The new devfs changes the names of all system device nodes. There is a backward-compatibility layer available if you want to stick with the old way of doing things, but you must decide to do this before you compile the new kernel.

What all of that means is, if you're not up to wrestling with the source, you should wait for the Linux vendors to issue their distributions. The next generation of Caldera, Red Hat or what-have-you Linuxes will come with all of the appropriate patches to run your customers' Linux software.

Copyright ?? 2004 Ziff Davis Media Inc. All Rights Reserved. Originally appearing in eWEEK.

Linux socket programming Related Links
Linux programming toolLinux game programming
Linux programming languageProgramming in linux
C programming in linuxC programming linux
Linux network programmingLinux c++ programming
Understanding unix linux programmingLinux shell programming
Linux system programmingDevice driver programming linux
Advanced linux programmingLinux serial programming
Free linux downloadsLinux free ware
Free linux gameFree linux os
Free linux anti virusFree linux distribution
Free linux cdLinux online free class adobe
Free linux firewallLearn linux from basic free online class
Free linux tutorialFree linux removal software spyware
Free anti virus software linuxFree linux ebook
Free linux shellFree linux program
Linux free bookFree linux project management software
Free linux trainingFree downloads linux os
Free linux distroFree linux isp
Free linux isoFree linux for desktop
Free bsd linuxFree linux mp3 player
Free linux shell accountLinux module web mail free access site
Linux backup software freeLearn linux free
Free linux applicationFree linux cds
Free linux commandFree linux spy software
Free host linuxFree version of linux
 
©2005 All Rights Reserved   Linux Server