How should I diagnoise network lag?

The network recieve in my game is abnormally high, but my usage of remote events seems pretty normal - usage is bad even when none are firing. Players are sending us pictures like this (https://cdn.discordapp.com/attachments/201097336863064064/506174263015899137/unknown.png) and it seems to be a major issue.

What is the best way to find out the root cause of this??

Thanks!

Edit:

And this is from a full server


Link to place (take a wild guess as to why the like ratio is poor lol): [TEST PLACE] BANDIT SIMULATOR NOW FREE! - Roblox

@2blox2quit

3 Likes

Do you have a lot of parts in your game? Games with a lot of instances tend to have a higher network receive

Also, thats actually kind of normal, you’re only 0.1 msec above average

I wrote a quick recursive to count up the amount in the workspace, only 13265. I remember zceuxg saying low tens of thousands was fine

The status of the users internet is also a contributing factor, have you tested the network receive yourself yet?

Yeah its consistenly bad for everyone

My data KB/s is in the low hundreds, I seem to remember 60 beng the max. Is there a way to measure data per remote?

Have you also tried using the MicroProfiler to identify if there’s anything that’s a problem? I wouldn’t work off of these Shift + F[num] menus alone.

1 Like

Roblox servers can do about 50KB/sec per client

As for data, just double check what exactly you’re sending over the network. An array full of instances (lots of probably unused data)? An array full of strings (less data, but can be reduced)? An array full of integers (pretty good)? A single integer (the best)?

Typically when you need to worry about network overhead it’s a good idea for whatever arguments you need to be integers (or arrays/dictionaries that mostly contain integers). Advantages: simple, makes the network happy. Disadvantages: can make your code harder to read (there are ways around this, but I think that’s outside the scope of this post).

edit: my example of an array full of instances is actually wrong - instances can’t be sent over the network like this. Regardless, my point about keeping the data which is sent over the network compact is very important. Always prefer booleans or integers over strings; floating point numbers should only be used when they absolutely have to

3 Likes

Anyone have any further help with this? i found out what was messing with the KB/sec, and fixed it, but my network receive is still terrible. I don’t really like asking staff, but is there a good person to ping for this sort of issue?

Did you ever figure out your issue?

(4 year later I hope you did)