Fileserving In Terminal Server Environments Part 1 |
Friday, 03 March 2006 by Michel Roth | |
Fileserving very often is a much underestimated part of Terminal Server environments. Improperly configured fileserving components can wreak havoc on your performance. In this two-part article we will explore fileserving in Terminal Server environments and how you can make sure that you get the best performance out if it. IntroductionFileserving has been around just as long as Windows has. In fact, fileserving is one of the main reasons why we started to create networks in the first place back in the day: to share information and resources. Well, sharing files is a perfect example of this. Of course, fileserving has come a long way since the beginning but the basics are still the same, something that is illustrated in the names that Microsoft still uses today for their fileserving components: lanmanserver and lanmanworkstation. Lanman, LAN Manager, dates all the way back to when Microsoft did OS/2 and was first designed to provide connectivity between DOS and OS/2 Clients and OS/2 LAN Servers.
Fileserving BasicsFileserving in Windows and other environments, such as Novell, are a classic example of a Client-Server mechanism. In Windows, the client side is almost always enabled since networking (authenticating over a network) without it is next to impossible. The client side is, not surprisingly, the "client for Microsoft networks". The corresponding Windows service is the "workstation service".
As for the server-side: all you have to do to become a file server is, well, share a file. My mom can do that (in fact she does). Heck, any old Windows 3.51 workstation can be a File server. Depending on your version of Windows, enabling "file and printer sharing" or something similar is all you need to do to make your server is a file server. The corresponding Windows service is the "server service".
This is one of the main reasons why the importance of fileserving is underestimated: it's so easy and there's no "guidance" (no configuration wizards, documentation or anything of the like). Usually when you gear up a server Microsoft provides more than enough guidance. For example, if you're setting up a DNS Server, Windows helps you out with wizards and all kinds of help files and documentation. This isn't the case with fileserving. So, on the one hand it is very easy to "create" a file server but on the other hand there is an obvious lack of relevant documentation and configuration/tuning tools. As an added bonus, a file server is almost always present in any Windows network. All this together is a potential recipe for disaster.
Shared Folders Snap-inWhen you share a file it shows up in one of the few tools that Windows has for managing file servers: the "Shared Folders" snap-in.
This is a screenshot of a dummy file server that I set up. There are no shares defined except for the default ones. If you want to, you can read more about these default shares and how to disable them here. I'm sure that the amount of shares you have on your company file server is much more. Probably when you go to check them out, you'll find some shares that aren't even supposed to be there (any more). That's a security risk right there, but that's a whole different story. The "Sessions" section tells you which users have how many sessions to your file server, how long they've had those sessions and how long ago that session was active (idle time).
Finally, the "open files" section, really gives an idea of the load that the file server has. Here, all open files are listed. Go ahead and take a look. If you have an environment has a decent amount of shares and drive mappings then you'll see quite some action going on in this window. This window tends to get cluttered very soon if there a lot of open files. Also notice the "# Locks" column. This is particularly interesting if you're troubleshooting files that cannot be opened anymore because they're in use.
More FileservingMaybe you're thinking, what's the whole fuss about? You might say, on average my users write something to their home drive perhaps 10 times a day. And maybe they create 2 files in their departmental directory per day. This is where a common misconception is. There's a lot more to fileserving than just plain file shares. A lot more. For example:
Profiles
Application (Configuration) Files
Folder Redirection
Printers
The Terminal Server Factor Now apply the Terminal server factor: multiply the resources that the user requires by the number of users on that particular Terminal Server. When you do this, it becomes more obvious why most of the performance issues relating to fileserving aren't with the server but with the client. The client in this case is the Terminal Server. Sometimes even a Windows server operating system (by default) isn't geared up to handle these kinds of loads.
ConclusionIn this article we have taken a look at what fileserving for Terminal Server environments is comprised of and why it can become a bottleneck. In part two of this series we'll discuss what you can do to determine if you have fileserving performance problems and what you can do to solve these problems.
This article was previously published at MSTerminalServices.org. |
My name is Davi. I'm from Brazil. I'd like thank you for the articles, because I was looking for information about and it was very usefull to me.
Sometimes we try do perform some "little common" tasks and we didn't get usefull information. But here I've got it!!!
Thanks. Be sure to read part 2 and the LanmanServer tuning article as well. It will probably come in handy as well.