Server Dimensioning

Questions and Answers on installation, deployment, management, locking, tranasactions of Servoy Application Server

Server Dimensioning

Postby Bernd.N » Fri Nov 27, 2015 10:49 am

I would like to get any recommendations for server dimensioning, especially regarding RAM and CPU-cores, when expecting around 150 concurrent users.
We use smart client and run one postgres server and a separate app server, both on Windows Server 2012 R2.

And should it be root servers or even dedicated standalone servers? (Though I do not know if the latter is even possible in todays time.)
Bernd Korthaus
LinkedIn
Servoy 7.4.9 SC postgreSQL 9.4.11 Windows 10 Pro
User avatar
Bernd.N
 
Posts: 544
Joined: Mon Oct 21, 2013 5:57 pm
Location: Langenhorn, North Friesland, Germany

Re: Server Dimensioning

Postby ngervasi » Tue Dec 01, 2015 12:38 pm

Hi Bernd,
if you expect to only use smart client and you don't have many batch processes the requirements are quite relaxed. 2 cores 64bit with 4GB ram should be enough to run Servoy serveer considered that all the processing is done client side and the DB is running in another server. If you can afford it go for 6GB ram to have some extra space for windows unxpected behaviours..

To give you an idea this is from a production server of mine with 100 users connected and working:

JVM Information
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
java.version=1.6.0_32
java.vm.info=mixed mode
java.vm.vendor=Sun Microsystems Inc.

Operating System Information
os.name=Windows Server 2008 R2
os.version=6.1
os.arch=amd64

System Information
Heap memory: allocated=826168K, used=685264K, max=2027264K
None Heap memory: allocated=111936K, used=111109K, max=180224K
Nicola Gervasi
sintpro.com
SAN Partner
ngervasi
 
Posts: 1485
Joined: Tue Dec 21, 2004 12:47 pm
Location: Arezzo, Italy

Re: Server Dimensioning

Postby Bernd.N » Tue Dec 01, 2015 1:08 pm

Hi Nicola,
that sounds good. We will install a fast SSD drive too. Also we got the recommendation to put AppServer and DB-Server on one machine, should be faster.
Bernd
Bernd Korthaus
LinkedIn
Servoy 7.4.9 SC postgreSQL 9.4.11 Windows 10 Pro
User avatar
Bernd.N
 
Posts: 544
Joined: Mon Oct 21, 2013 5:57 pm
Location: Langenhorn, North Friesland, Germany

Re: Server Dimensioning

Postby ngervasi » Tue Dec 01, 2015 1:17 pm

If you put the DB on the same server it's faster because you reduce the latency of every query sent but you will have to reconsider ram and cpu specs. If you plan to use physical hardware I would use VMware virtualization and 2 separate VMs for DB and App server, it makes it easy to scale and move VMs as needed.
Nicola Gervasi
sintpro.com
SAN Partner
ngervasi
 
Posts: 1485
Joined: Tue Dec 21, 2004 12:47 pm
Location: Arezzo, Italy

Re: Server Dimensioning

Postby rodney » Wed Dec 02, 2015 8:40 am

Hi Bernd

We have had an app server up and running for over 2 years, currently between 250-300 concurrent users serving a complex ERP type application, multi tenancy with a DB per tenancy (200 DB's/Tenants). Extremely reliable.

Did a fair bit of investigating on this before deploying and also spoke to database dba experts as well as hardware suppliers on various hardware/software configurations. Decided to deploy on my hardware in a co-location setup in a local DC (this was far cheaper than a VM for the following specs, in Australia anyway!). This setup also gives me complete configuration control over the DB/hardware settings.

Hardware:
2 x 6 Core Xeon processors @ 2.3 gHz
48 GB RAM
Intel 200 GB SSD drive for the DB
Separate drive for the OS
Separate drive for the document storage (we do a lot of document management in the application)
All drives mirrored

Windows 2012
Servoy 7.4.4
Java 7 update 71 64 bit
MySQL 5.6.24

With 250+ concurrent users my CPU utilisation is less than 3% rarely peaks beyond 5% :D

My recommendations:
Don't split the app server and DB across 2 physical servers as latency will increase, this may have been acceptable when you could only get 4 CPU cores per physical machine but this is simply not the case anymore.
We tested on Linux vs Windows 2012 with various benchmarks and windows was a little faster but I put this down to drivers for the SSD's being a little immature for Linux at the time. Our DB gurus also told us there was very little performance difference between the 2.
Fill your server with RAM, your DB should always sit in memory for best performance (and RAM is cheap). You therefore only need to consider write performance to the drive.
SSD's drives for the DB are a must (but even Amazon EC2 Servers now support these as standard).
Always hire a DBA expert to tune the settings for the DB configuration (for MySQL, this can make a major difference).
Always use performance monitors for slow queries etc. (for MySQL there are some great tools for this).
Use the 2nd physical server instead for replication (a must) and fault tolerance.

Rodney
rodney
 
Posts: 8
Joined: Wed Dec 02, 2015 8:04 am

Re: Server Dimensioning

Postby Bernd.N » Wed Dec 02, 2015 9:27 am

Hi Rodney,

thanks a lot for this comprehensive report on your setup, I will for sure consider your tips. We are currently making last decisions on the server.
Regarding Java I got the tip it should be the specific "Server JRE":
http://www.oracle.com/technetwork/java/ ... #javasejdk

Bernd
Bernd Korthaus
LinkedIn
Servoy 7.4.9 SC postgreSQL 9.4.11 Windows 10 Pro
User avatar
Bernd.N
 
Posts: 544
Joined: Mon Oct 21, 2013 5:57 pm
Location: Langenhorn, North Friesland, Germany

Re: Server Dimensioning

Postby Jan Aleman » Sat Dec 05, 2015 1:29 pm

Are you really considering to buy a server? Why not get a cloud one? It will allow you to scale up and down as necessary and you never have to worry about owning hardware. It is quite hard to predict upfront your exact hardware requirements as they largely depend on:
- number of users
- behavior of users
- nature of application
- design of application
- architecture of application
- amount of data being processed
- amount of business logic
- quality of code
and more.

While one could say that on a typical server you should be able to support 200-400 concurrent users it will depend a lot on the items above. Be agile: get a cloud server and start trying. To give you an idea at Servoy we do not own or operate a single server. It's all in the cloud.
Jan Aleman
Servoy
Jan Aleman
 
Posts: 2083
Joined: Wed Apr 23, 2003 9:49 pm
Location: Planet Earth

Re: Server Dimensioning

Postby Bernd.N » Sat Dec 05, 2015 3:32 pm

Hi Jan,
yes sure, it is about the server that the customer's IT service provider will provide. Cloud or not, in the end we need physical RAM, some CPU cores and a fast SSD drive. :)
Bernd Korthaus
LinkedIn
Servoy 7.4.9 SC postgreSQL 9.4.11 Windows 10 Pro
User avatar
Bernd.N
 
Posts: 544
Joined: Mon Oct 21, 2013 5:57 pm
Location: Langenhorn, North Friesland, Germany

Re: Server Dimensioning

Postby jbrancoIF » Tue Feb 07, 2017 4:44 pm

I was trying to find some info on this subject. I need some kind of minimum requirements for a Servoy server.

The wiki page was not very useful: (it would be nice to be able to warn Servoy about incomplete/missing/wrong wiki pages)
https://wiki.servoy.com/display/public/ ... quirements

There is some "official" recommended requirements?
João
InfoForm SA

Servoy 2021.03
jbrancoIF
 
Posts: 68
Joined: Tue Jan 10, 2012 11:29 am

Re: Server Dimensioning

Postby jcompagner » Wed Feb 08, 2017 10:51 am

you can warn servoy by just opening a support ticket.

Problem with those requirements is that it is so depending on your solution what you need.
a server instance of servoy will run on current day hardware just fine with Java7 as the minimum (which is already none supported anymore by oracle)
Because a "HelloWorld" solution will run on a very basic server which doesn't also needs a lot of cpu or memory

But it all depends on how big is your solution? How many forms are loaded in how many data does a client ask for, what type of client? NG,Web or Smart?
How many clients do you want to serve concurrently?
This is something that you really need to test your self for your solution, because it is really different for pretty much everybody.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8828
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Server Dimensioning

Postby phschmid » Wed Feb 08, 2017 1:41 pm

Still, it would be useful to have some information, based perhaps on a sample application with nb. of forms known, type of usage (transactions per min.), etc.
Quantity of ram per simult. client for the different client types, nb. of max. clients per cpu (ex. 2 GHz), etc.
phschmid
 
Posts: 9
Joined: Tue May 08, 2012 4:15 pm

Re: Server Dimensioning

Postby jcompagner » Wed Feb 08, 2017 3:30 pm

that still depends on so many factors.. number of forms directly doesn't tell us anything,
how many fiels, how many data is kept in a form
Are you hitting tables with 100+ columns per table?
So it always will just be "a number". You always have to profile your solution how it behaves and what it needs if you login with 10 users and let those users do something.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8828
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet


Return to Servoy Server

Who is online

Users browsing this forum: No registered users and 6 guests