Server sizing for Remote Desktop for Visual Foxpro application

Posted on 2013-11-26
Last Modified: 2013-11-26
I am planning on deploying a relatively small Visual Foxpro application for approximately 133 users. The tables are under 300 Mb.

How can I determine the amount of RAM and CPU capacity to deploy to ensure good performance for the users? I'm looking for personal experience in this field and/or tools available to help me determine the capacity requirements.
Question by:Maritimed
  • 2
  • 2
  • 2
  • +2
LVL 14

Expert Comment

by:Ram Balachandran
ID: 39678863
LVL 27

Expert Comment

ID: 39678872
I have a FoxPro 2.6 application running on a 2 GB database used by 70 users extensively. The first server had 2 GB RAM and it was doing quite well.

VFP is not client server when using FoxPro tables as opposed to MS-SQL or MySQL. So you need to concentrate more on network speeds rather than CPU and RAM. The server will be busy dishing out tables and indeces. You also need to ensure that the tables are very well indexed for impeccable performance.

Author Comment

ID: 39678931
Hi CaptainCyril,

As this is a Terminal Server/RDP deployment, wouldn't the network speed be less of a consideration as the files and users are all "local" to the tables? Was your application under this scenario?
LVL 29

Expert Comment

by:Olaf Doschke
ID: 39678962
Indeed, if you install your tables on the TS the network bandwidth is of no meaning in regard to the data access, as that will be local.

But there is a connection from each user to the TS and that bandwidth is shared. 133 users is much, especially all concurrent.

It's not just about your application and it' RAM usage, it's rather about each users Windows session and CALs.

I am no TS expert, but I think you need lot's more than 2GB Ram to have many concurrent TS sessions. As many concurrent users are much easier served with a web application.

Bye, Olaf.
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

LVL 27

Expert Comment

ID: 39678973
I did not pay attention to the title. :)

Yes my application was on LAN and started with Novell to be exact.
LVL 41

Accepted Solution

pcelba earned 500 total points
ID: 39679263
TS consumes a lot of server resources (namely RAM). We refused TS usage for this kind of application and we are rather using Visual FoxPro app as a multithreaded COM server. 100 concurrent users on 16 GB RAM on relatively weak 4 threaded server were OK.  Each COM instance can consume from about 20 MB to 500 MB (when large query is executed). I have to say when many users executed a large query the server was a little bit overloaded... Today's server has no such problems (256 GB, 24 threads) and we still have large capacity reserves.

We don't care about the Visual FoxPro discontinuation because our app can run in virtualized environment under the OS of our choice. Any replacement or rewrite (e.g. to .NET) would cost a lot of money...

Links of your interest for TS planning:
TS Capacity planning
This TS capacity requirement article is very good

Author Closing Comment

ID: 39679279
Thanks, very helpful.
LVL 29

Expert Comment

by:Olaf Doschke
ID: 39679905
Indeed very helpful links.

To state the obvious, an advantage of TS or RDS is you can serve an application as is, but even the simple RAM estimation done in brian maddens blog shows you, 133 users are quite a huge load. 128MB + 4*133 alone for the sessions. 133 CALs are also not cheap.

There you have enough money to instead invest in making your app a web app. Either as pavel did with COM Servers, or using foxincloud or vfp2iis or afp or west wind tooling. But you have to be prepared to redo you application logic and give it an html front end. Technologies like foxincloud and vfp2iis promise an easy transition, but might work slower than you need.

You can also think about just doing a small part remote users need for web.

And to state something even more obvious: If users are in the LAN, then TS/RDS is the wrong choice anyway. You might also put users in a remote LAN in a WAN. If this is applicable depends on the bandwidth connecting the two or more LANs.

Of course in a few distinct LANs another possible solution is to install a database on each site and do replication, automatic or manual. The less data needs to be common to all LAN live, the less you have to sync, the more syncing may be done off hours.

One (bigger) customer I have uses TS for small sites around the world in China and Mexico, but that's just each having 10-20 users. The rejected the replication idea, because I was told my database does multiple of 10 GB transaction log each day. I somehow doubt that this would cause the same amount of replication transfer data, because not all data changes are needed live, but they won't listen anyway.

Bye, Olaf.

Featured Post

Zoho SalesIQ

Hassle-free live chat software re-imagined for business growth. 2 users, always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have been working as System Administrators since 2003. I recently started working as a FreeLancer and was amazed to find out that very few people are taking full advantage of their Windows Server Machines. Microsoft Windows Server comes with so…
I had a question today where the user wanted to know how to delete an SSL Certificate, so I thought that I would quickly add this How to! Article for your reference. WHY WOULD YOU WANT TO DELETE A CERTIFICATE? 1. If an incorrect certificate was …
To efficiently enable the rotation of USB drives for backups, storage pools need to be created. This way no matter which USB drive is installed, the backups will successfully write without any administrative intervention. Multiple USB devices need t…
This tutorial will walk an individual through the process of transferring the five major, necessary Active Directory Roles, commonly referred to as the FSMO roles to another domain controller. Log onto the new domain controller with a user account t…

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now