Forum Multiplayer Webservice Bandwidth?

Discussion and help relating to the PlayerIO Multiplayer API.

Webservice Bandwidth?

Postby markloika » July 27th, 2010, 4:11 am

As I've been developing my game and testing it, I've been keeping an eye on the bandwidth, and I really think I'm doing something very wrong, or I'm not getting the full picture of what Webservice traffic really is. What could possibly be making my Webservice traffic so much compared to the data sent and received?

The following stats are for the past 30 days, of those 30, less than 5 were spent actively testing my game using Player.IO (the other days were spent working on other aspects of the game). If I can use that much bandwidth by myself in less than a week, that is very concerning.

0,01 MB Data received (data sent from a game client to a game server)
0,07 MB Data sent (data sent from a game server to a game client)
26,57 MB Webservice Traffic (requests to the Player.IO webservice: connect, joinroom etc.)
markloika
 
Posts: 76
Joined: July 8th, 2010, 3:46 am

Re: Webservice Bandwidth?

Postby Benjaminsen » July 27th, 2010, 10:13 am

Do you have anything that refreshes the userlist automatically or some such behavior?
Benjaminsen
.IO
 
Posts: 1444
Joined: January 12th, 2010, 11:54 am
Location: Denmark

Re: Webservice Bandwidth?

Postby Oliver » July 27th, 2010, 10:38 am

Hey Mark,

I just looked up your bandwidth usage, and here it is:
bandwidth.png
Bandwidth
bandwidth.png (11.32 KiB) Viewed 11409 times


Note: There is a bug that has caused the "ServerToWebserviceBytesSent" to be added to the "ServerToWebserviceBytesReceived" column, so just consider the "ServerToWebserviceBytesReceived" column to be ServerToWebservice traffic. This bug is fixed, but will take a bit of time to become deployed.

Currently what we're presenting as "Webservice Traffic" is "WebserviceBytesSent+WebserviceBytesReceived+ServerToWebserviceBytesSent+ServerToWebserviceBytesRecevied". We're considering expanding it so we present all the data somehow; we just have to figure out the best format...

The interesting thing here is that you can see most of your traffic is used in Server/Webservice communication. We can also see that the bandwidth scales with the amount of BigDBLoads; i.e, most of your traffic is being used by BigDB loads from serverside game code.

Player.IO is a fully distributed system, where the different components (servers, webservice, etc) can be run in different datacenters which is why bandwidth is counted both at the server endpoint and the webservice endpoint.

Webservice requests are currently running over HTTP which adds a bit of overhead (http headers etc) to each webservice request. We have future plans to replace HTTP with a much more lightweight protocol.

I hope this gives you a bit of insight; let me know if you have followup questions :)

Best,
Oliver
User avatar
Oliver
.IO
 
Posts: 1159
Joined: January 12th, 2010, 8:29 am

Re: Webservice Bandwidth?

Postby markloika » July 27th, 2010, 10:44 am

Thanks Oliver, that clears things up. The serverside BigDB loads were happening when I was testing a global presence system that would poll BigDB every 3 seconds. That was for the friend requests/inviting users to a game, which is a feature that I have since removed from the game.

Thanks,
Mark
markloika
 
Posts: 76
Joined: July 8th, 2010, 3:46 am


Return to Multiplayer