licensing question - multiple servers on a single ip

Need help with SmartFoxServer? You didn't find an answer in our documentation? Please, post your questions here!

Moderators: Lapo, Bax

Post Reply
zendivo
Posts: 1
Joined: 14 Mar 2010, 15:30

licensing question - multiple servers on a single ip

Post by zendivo »

Hi,

I see this in the FAQ.

Can I install SmartFoxServer on more than one machine?
Each server license is valid for a single IP address; if you need to run multiple instances of the server on more than one IP you need to buy more licenses. You can however run multiple instances using the same IP and by configuring each instance to run on a different TCP port.

This sounds like you can purchase 1 license, load up a server with 10 smartfox instances, and all 10 instances would be covered by 1 license. However, in my license server, I only have a single allotment for each license I have. (tested with two instance on same IP and recieved " LS: Requested license is not available") Is the FAQ misleading, or should I be allowed as many smartfox licensed instances from a single IP as I can fit?


Thanks,
Adam
User avatar
Lapo
Site Admin
Posts: 23438
Joined: 21 Mar 2005, 09:50
Location: Italy

Post by Lapo »

This sounds like you can purchase 1 license, load up a server with 10 smartfox instances, and all 10 instances would be covered by 1 license.
Yes that's correct. But it's not a good idea because you'll be using 10x the resources running ten instances. You will have a better result if you just run one instance handling all the traffic.
However, in my license server, I only have a single allotment for each license I have.
The f.a.q. does not include the special case of using a License Server. The License Server works by assigning each license available to the first SFS instance that requests it.
Lapo
--
gotoAndPlay()
...addicted to flash games
gatillian
Posts: 3
Joined: 11 Mar 2010, 16:39

Post by gatillian »

I have an additionnal (noob) question regarding the licensing/max connections allowed by a server, because I'm not sure I correctly understand the principle of "instances". :oops:

Let's say I have a license allowing 100 concurrent users. I have one application called A that connects to the server. If 80 users are connected, then there is room for 20 more users to connect to the application.

Now, from what I read I can create an "instance" of the server, running on another port. I guess this is done by "copying" the "Server" folder and relaunching another Start.bat file with a different port in the configuration file.

This instance can be used by another application, B, that has no link to A. Is that right? Now my question is how many users can connect to B? Is it 20 or can I run another 100 users (with the bandwidth potential problems that may result) ?

In other terms, is the "max. connections" number specified in the licence linked to the ip address, or to the server instance?

Thanks.
User avatar
Lapo
Site Admin
Posts: 23438
Joined: 21 Mar 2005, 09:50
Location: Italy

Post by Lapo »

Now, from what I read I can create an "instance" of the server, running on another port. I guess this is done by "copying" the "Server" folder and relaunching another Start.bat file with a different port in the configuration file.
This is exactly correct.
This instance can be used by another application, B, that has no link to A. Is that right?
Yes
Now my question is how many users can connect to B? Is it 20 or can I run another 100 users (with the bandwidth potential problems that may result) ?
100, because the 2nd instance knows nothing about the state of the first
In other terms, is the "max. connections" number specified in the licence linked to the ip address, or to the server instance?
It's the limit of the server instance.

Cheers
Lapo
--
gotoAndPlay()
...addicted to flash games
gatillian
Posts: 3
Joined: 11 Mar 2010, 16:39

Post by gatillian »

Thank you very much for this fast and clear answer.
DarrinWest
Posts: 1
Joined: 09 Apr 2010, 20:09

Post by DarrinWest »

Lapo wrote:
This sounds like you can purchase 1 license, load up a server with 10 smartfox instances, and all 10 instances would be covered by 1 license.
Yes that's correct. But it's not a good idea because you'll be using 10x the resources running ten instances. You will have a better result if you just run one instance handling all the traffic.
However, in my license server, I only have a single allotment for each license I have.
The f.a.q. does not include the special case of using a License Server. The License Server works by assigning each license available to the first SFS instance that requests it.
a) Would you consider it a bug in the license server to consume a second allotment like that, since it is not giving the full benefit of the license agreement?

b) Have you load tested to prove out the recommendation of using a single SFS instance (presumably with 10 threads) instead of 10 instances? Assume I have an 8 core machine. I think the difference would wind up being small, and there are other benefits to multiple processes (like stability).
User avatar
Lapo
Site Admin
Posts: 23438
Joined: 21 Mar 2005, 09:50
Location: Italy

Post by Lapo »

a) Would you consider it a bug in the license server to consume a second allotment like that, since it is not giving the full benefit of the license agreement?
I don't understand your question, can you expand on this?
b) Have you load tested to prove out the recommendation of using a single SFS instance (presumably with 10 threads) instead of 10 instances? Assume I have an 8 core machine. I think the difference would wind up being small, and there are other benefits to multiple processes (like stability).
Running 10 instances means that you run 10 copies of the runtime, all taking up their memory for the stack of each thread, the heap memory, libraries, garbage collection, system threads, file descriptors... If you don't want to waste resources and take the best performance out of the server it's recommendable to use one properly configured instance.
Lapo
--
gotoAndPlay()
...addicted to flash games
Post Reply