Link to home
Start Free TrialLog in
Avatar of CaptainGofast
CaptainGofast

asked on

Terminal Services

We're running an Access database with a custom built (outsourced) front end. The data is stored on the server and the front end runs on the workstation (via Office XP/Access). We're having a problem with the database running very slowly and I was told we need to have Terminal Services installed on the server. I don't see why, since the app is running on the workstation, not the server. Opinions?
Avatar of Sebastien_B
Sebastien_B

The idea suggested simply make all the stuff running on the server itself (the perfs. will then only rely on its disk-subsystem performances, no more on the network),

Actually you must be something like that :

Server(data) ==>>>> Client(Processing)
(so heavy network usage if your DB is large, more if there numerous clients ; you can confirm that... try to open a 100Mb AccessDB thru the network, will be loonnnng...)

The Terminal Server Based solution will simply send the "graphics" to the clients. Really lighter !!


So i fully agree with the suggestion you received,

Seb
first thing, since access is not a rdbms when you want to make a query it loads all the table values into memory and then processes the request, you dont need terminal services but a rdbms, i recommend mssql server, or one that im using now mysql.
Hi,

thefox_evo is right. Before you can do anything with an Access database, your application has to read the WHOLE database into memory, which is VERY inefficient. I simply can not understand why someone would EVER want to write a program which uses an Access database...

However, what you really need to do to increase the performance of your application, is to make it use an relational database system like Microsoft SQL server (expensive), Oracle (idem), MySQL (Free) or PostgreSQL (free).

To invest your money in a terminal server is a waste of both money and your valuable time since it does NOT fix the your problem, which is the database used.

Sincerely,

Martijn Tigchelaar.
that and the fact that Terminal Services is a lousy file server - and being that you would still be accessing the Access database on itself would actually compound the problem.

Martijnt has the best idea to move to a relational database, but not neccessarily Microsoft's SQL 2000 server - it depends on the size of the data and your budget.

Also - have you tried to run a Repair and Compact Database option in Access to clean out deleted records?
TSE is not involved here to be a FileServer...
Just a farm to centralise applications like Citrix also does (or many Unix systems with clients running ReflectionX i.e. to get just the display from the server)

The main thing to know is, can Captain reconsider the Application structure : That's really not forced to be effective...

If he can't, the TSE should solve his issue...
ASKER CERTIFIED SOLUTION
Avatar of DSPoole
DSPoole
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of CaptainGofast

ASKER

Much thanks for the quick responses guys

- We regularly repair/compact the Access database, which has a custom programmed front end that sucks as bad as Access itself

- Moving to a relational database isn't feasible at the moment. I work for a municpality and there are some budget issues involved. However I agree we need to ditch Access (aka junkware) asap.

- Didn't mention this in my original post because it hadn't started happening yet, but  the Access DB was behaving so badly today it kept overwhelming the server ('unable to allocate a work item' error) and caused user disconnects, and app crashes resulting from the dropped connections.  

- I moved the database temporarily  to a dedicated box with absolutely nothing else running on it (cheapie P4, XP Pro), mapped the users to that via P2P and the server errors/disconnects  totally stopped. Also the DB speed increased. Still a pig IMO, but  noticably better than it was.

- I gave the nod to DSPoole on this, but all responses were appreciated
 

Captain ??

Are you around there ?

We all need to know :

- how much simultaneous user you will have to handle.

- And can you suggest for this application a rewrite to a real DB-Server

---------------
DSPoole : You're kidding, a TSE server will be able to access its own file at least as quick as from the network ! (should check your HarddriveSubsystem ...)
Oups, my post came in the same time the requester was answering.

Good night all :)
Sebastien,

Not kidding - at least with Windows NT 4.0 Server - Terminal Server Edition.

I've tried it.  I've had other people try it.  I've had consultants try it.  The rate of data access across the wire surpassed the rate of data access on a local drive.

hardware comprised of a load-balanced Citrix MetaFrame server farm of three Dell PowerEdge 2300-series server - Pentium II processors (fastest at the time) running 400MHz (dual).  Two 9GB drives in a hardware mirrored (RAID-1) array, 10,000RPM, Fast-Wide SCSI-3 (80) drives.  512MB RAM.  No more than 15 users per server.

first : if you have budget problems why are you considering terminal services, try portgres or mysql,they are free!
second : it doesn´t mather if you have your access database in a P4, it will improve some response but you still have to load the entire tables into memory!
I'm not considering acquiring terminal services.. I'm running a Win 2000 server and it's part of the package. I don't have it installed though and don't want to if not needed. Sorry I didn't state that up front.

The P4 has nothing else running on it so it loads the tables up a lot faster than a box that has additional tasks running. But it's not a huge speed increase, just noticably better (about a 50% decrease in running a large billing batch. It's a water utilities app). The P4 box is a temporary fix anyway. Just wanted to see how badly Access was overloading the Win 2000 server resources, which is already significantly burdened. My original question was intended to find out whether running terminal services would help with that.

Warning : the TSE functionnality in Win2000 will only be "free" for Remote admin, so few connections to it, only for Server Administrators...

So, in both plan it will generate some additional costs...
Cap,

you said "I'm running a Win 2000 server and it's part of the package"

that's partially true - Terminal Services do come with Windows 2000 Server - but the licenses to USE Terminal Services are an additional charge from Microsoft.

I believe you have to activate the TS licenses with Microsoft before you can use them.