• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Some server performance questions

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

Wannes

Registered
Joined
May 16, 2005
Location
belgium
A couple of weeks ago my boss (I'm a salesman) discovered I had a background that involved computers, so he promptly appointed me IT-manager and gave me the "opportunity " (his words not mine lol) to give the 4yr old, completely and utterly neglected, network a complete overhaul.

Now I do have some professional experience with these matters, but it's 5yr old with a whole lot o' dust on top.

So I need help :)

The network I'm talking about resides in an office-building. Inside said building we find 22 office-workers, about the same number of funny blue-collar guys, and a copier with an attitude.
For now only the 22 officepeople are of concern to us, since they are the ones using the server and network.

The IT uses are limited to :

-mail : MS Exchange 200. very limited use, since only 2ppl can mail to the outside world, so there's no endless stream of videojokes and pictures clogging the server. Just internal memos and the occasional pdf file

-SQL database : a rather hefty thing, accessed with a custom written program. Around 900Mb of data, accessed and updated constantly by all 22 people.

that's basically it

Now we have one server that runs everything. Above mentioned applications and the Primary Domain Controller. It runs windows 2000 and SBS2000.

the specs are :

1.5Ghz processor
512 Mb RDRAM (ECC) (since yesterday upgraded to 1.5Gb)
2*200Gb desktop maxtors in RAID 1 array

the whole thing is hooked to everything else using a pretty standard 10/100 switch.

Now when i got first asked to do something about the performance (which was awfull in every which way possible) I demanded money for a memoryboost before I did anything else, and I got it.
Where before the server was constantly maxing out in mem usage it is now pretty comfortable with 1.5Gb RAM (about 150-250Mb free at any given time)
Processor usage fluxuates like mad, but I've been logging for awhile and it has never maxed out for longer than a couple of seconds.

But, alas, for my liking the database still isn't as fast as it should be...a simple query can take upto 8-10 seconds.

My guess is that the harddrives are to blame, since they have to process alot of I/O requests...they're no scsi drives so they are pretty limited that way.

Now for tyhe questions:

Am I right in focusing on the HD's next as the main reason for below par performance?
Am I realistic in assuming that a database query shouldn't take more than, say, 2 seconds? (I'm an absolute n00b when it comes to SQL (and databases in general) so I have really no idea)
Will an additional 512Mb RAM further improve things noticably or not?

Thanks for your time. Since you've been reading this long, might as well post a helpful reply ;)
 
From what I've seen, you've handled one of the big bottlenecks in that type of server application- the memory. The second bottleneck in small-mid size database servers is your CPU- mainly, there's only one of them. 1.5ghz isn't all that much, especially if it's Intel. For a midrange database server, and one running Windows at that, plus hosting Active Directory, I'd definitely go dual CPU.

And the 2 desktop Maxtor's in RAID 1 isn't helping, either. Safe, yes, but slow. The database doesn't sound like it does too many concurrent accesses, so it might be doable to drop in a SATA RAID controller and go with a RAID 5 array- call it 3 150-200 gig drives. Added speed, plus redundancy.

I don't know your budget, though. There are other solutions- however I wouldn't use any that call for "soft" RAID- that is the builtin function Win2K and XP have to create a soft RAID across multiple disks. I've had nothing but trouble with these arrangements.

Another thing you might look into is the possibility of running the OS on one drive, swap, Exchange store on another, and DB on a third. Less redundancy, but again- that budget thing.

Ideally, though, you never want to host a DB server on the same box that's a domain controller. A Microsoft active directory installation uses enough of the system as it is.

Putting Exchange AND Active directory on the same box is really a pain- not that it won't work, but I hope you have plenty of time to spend waiting for that box to start up and shut down- unless you manually stop services first.

Too much info and I haven't slept in 2 days, so this is probably disconnected. Feel free to respond or PM with additional questions if you'd like.
 
Another thought occurred to me after I posted. You didn't mention if you were using mySQL, MSSQL, Postgre, etc.

It really shouldn't matter too much though- another possibility would be to put together a budget dual CPU box- say dual Socket 370 coppermine box. Gig of RAM. Your favorite flavor of linux. Install the DB on that box. Almost 0 overhead with linux and no gui- you can use phpMyAdmin or ssh to administer the box. Any flavor linux + mySQL or derivitaves on a low end box will frequently perform as well if not better than a $5g box running Windoze.
 
thx for the feedback Jason. sry I haven't responded sooner but work has been a b***h

reinstalling the server is, sadly, not really an option (yet). The only thing I'm able to do for the moment is suggest upgrades that don't require a complete reinstall. The memory was one thing, a quicker CPU might be another, as long as it fits on the same mobo.

In about a yr I expect that we will toss out the SBS and go with 2 servers. One running all the network-stuff and exchange and another used as a dedicated database server.
So what I need now is a relatively low-cost solution that will give me a nice enough performance boost to keep the punters happy for a little while longer.

In order to circumvent the HD bottleneck I've been looking at that Gigabyte ramdisk Ed has been raving about. Put the database and/or the pagefile on that baby and things should speed up without to great a cost/effort, no?
I realize it's not made for server use and as such might not be as reliable, but if I schedule automatic images every night the risk should be minimum.

On the other hand: is it possible to take an image of the entire system, install a RAID5 setup and put the image on that? Or is that just a silly idea?


The problem is that the company who wrote the custom database application has long since gone out of bussiness and there seems to be no-one around who has any idea how to reinstall the thing with all the data intact. I can always give it a shot but I'm not really willing to take the risk. I know that sooner or later we will have to bite the bullet, but I want to put it off as long as possible....I've only been working there for 4 months and am still on a temp contract...a major screwup now and I'll lose my job fo sho...I'm in the shippin' business and any downtime is a nightmare I don't even want to think about...Whatever I do I have to be able to do it in 20hrs or less (sunday being the only day that the office is closed)
 
Hmmm, I am assuming they are running at UDMA 6 which could give you a little bit of a performance gain. You might could try using a program like tuneup utilities (free trial) to clear up the registry and hard drives, defrag, spyware removal (standard perfomance maintenance), but if you are running drives that have like a 10ms seek then you will be stuck as how far you could go.
 
From the specs of the server and the experince I have with databases I would say that the DB is being slowed simply by being an a box with everything else. Also check the network usage just to make sure that the NIC isn't being overused. What company is it that wrote the Database, someone here might be able to dig up some old info for you.
I would advise working on getting all the applications split onto their own servers. Exchange is designed to use as much memory as possible and only release it back to the system should another application request it. This takes time, (allright just a few milliseconds) enough to slow down another memory intensive applcation like a database.
 
One thing that directly jumped to my head was, that the sql database would not be optimised. Do you have any idea how experienced the person who made it was, and have all indexes ect. been created with thought?

A wrong kind of query by the application, or bad (no) indexes could easily make a differance of rapid response to 10sec lag.
 
Back