Hi, I apologize in advance for the confusion, but how are compute hours calculated when servers are in stand-by?
For example, if we have a total of 4 D1v2 VMs, they are billed at $0.126 per hour when active for a total of $0.504 per hour. But if all four are in stand-by for one hour (meaning all server instances per-VM do not have any players connected), is that cost still $0.504/hr or is there a different charge for stand-by? I understand that there is a 20% standby overhead, so does that mean that the total cost of four D1v2 servers in stand-by for one hour is $0.1008?
Another similar question: If there are, say, 10 server instances per-VM, and all are in stand-by, does the theoretical stand-by billing apply? If 1/10 instances are active, the VM will be billed at the rate of one D1v2 per hour?
Answer by SethDu · May 10, 2019 at 07:29 AM
I think you are right. The Stand-by servers will simply increase the required computer-hours by 20% according to:https://docs.microsoft.com/zh-cn/gaming/playfab/features/multiplayer/servers/billing-for-thunderhead. However if you have more questions about billing and want to know more information, you may directly contact our sales team via sales@playfab.com.
@SethDu So, for example, if all servers are in stand-by, is the cost per hour just 20% of the hourly cost of the VM if it were active?
Normally, yes, but 20% is an estimated number and stand-by is a special case, the documentation illustrates that if you are using the calculation expression, the total running hours will be around 20% more than the calculating result.
Let me phrase it another way, to see if this helps:
The server is "consumed" by your title whether it's in standby mode or not. That is, the resource cost is exactly the same in Azure regardless. So yes, standby servers cost the same as servers that are actively hosting games (though yes, you can potentially have multiple instances running on a server - one of the reasons we support containers).
The 20% reference is simply talking about the fact that in general, the extra servers you have on standby need to be enough so that when you have a normal player surge (most titles have ebb and flow to their concurrency), your players don't have to wait for servers. Typically, we see this as resulting in about a 20% cost over the raw hosting of just the active servers. Does that help?
@Brendan Yep, that helps a lot, thanks! So the key is to keep memory and CPU usage as low as possible per-instance in order to have more servers on a single VM, as the cost is per-VM-per-hour, correct?
Sure, it's always best to optimize your code, regardless. The cost is consumption based, and it's virtual machine hours, store for builds, and egress. The full write-up is here:
https://docs.microsoft.com/en-us/gaming/playfab/features/multiplayer/servers/billing-for-thunderhead