Bandwidth setting vs traffic


#1

I know the bandwidth setting is really a proxy for what proportion of the time my server IP is being returned. What’s surprised me is how much variance there is. I have 6 linode stratum 2 instances running ntpsec (plus my leontp S1). Four of them are set to gigabit for both v4 and v6. The three US based systems generate just under 30GB a day of outbound NTP traffic. The one in germany only does 5GB/day. The two in Asia (singapore and Japan ) are set to much lower number (250 mbit for Japan and 25 mbit for Singapore) and both generate around 40GB/day despite the massively lower settings

I was thinking about ways of maybe making the numbers more meaningful. Given that the number of DNS queries to a zone is known would it be possible to generate an approximate expected NTP traffic for a given zone and bandwidth ?

Obviously this would be very much a moving target. Alternatively knowing what % of the total zone capacity a given server is providing would be helpful. The server count per zone isn’t really useful here without knowing the bandwidth each of the servers is claiming.


#2

Yes, indeed. I’d love to have this. Over the last forever I have been adding more metrics to the DNS servers.

The goal is to be able to at least roughly recognize zones that have a poor ‘“bandwidth” to queries’ ratio (and others liked germany where it’s very good) and then “backfill” zones as necessary.

Years ago I also started making a tool to capture metrics on an NTP server with the goal of being able to do what you suggest in more detail.

One of the blockers has been a place to put the metrics. I have been using influxdb which works okay, but isn’t redundant unless I write the data to two instances (and manually sort out to make sure the data is written to both). So that’s not impossible but also not super awesome.

I am also vaguely wary of a system that long term has “more parts” (metrics from NTP servers), because it needs some monitoring and care and feeding.

Having the system be as robust and simple as possible is a firm requirement, or it’d be impossible to run without a huge headache. (And budget/staff etc to deal with said headache).

Anyway — yes, what you suggest is in the cards, just development is going at let’s call it a deliberate pace…

I have been getting an upgrade to the DNS software finished (its deployed on a handful of servers for the last month); my last task is having it generate metrics for Prometheus which I hope will be easier to run in a redundant, simple, etc way for short term metrics.

The other project over the last too many months have been getting everything running in a small Kubernetes cluster, to make it easier to deploy more components like this and also to make it easier to migrate the system to other infrastructure as necessary.


#3

40GB per day sounds normal to me. Even my 17 years old hardware can reply to 4.2k replies per second in long term average.

If you treat every reply as 100 bytes then my outgoing NTP traffic would be 33.79GB per day. My bandwidth setting is only at 1.5mbps… Cannot serve more or my server get kicked out at busy hours.

Less than 250 servers (including those from other area supporting cn pool?) serving 4.4b population. Great.


#4

I think it would be interesting to see the distribution of the speed setting in different zones. I suspect in some zones most of the servers are set for the maximum speed and wouldn’t mind more traffic (some members add their servers to the pool with multiple addresses to get more traffic), and in other zones there is too much traffic and most servers are set with a very low speed.

And there are also zones where the number of servers is so small that the speed setting has no effect at all.

I’m wondering if the concept of country zones could be replaced with something more fuzzy. It seems strange to have only one zone for the US when Europe has dozens of zones with a wide range of NTP traffic per server.


#5

That’s a good thought - I may add a second address to my german server - would that potentially cause it to appear twice at the same time in the DNS rotation and would that be a bad thing?


#6

Maybe, @mlichvar even suggested to remove duplicated server entries.


I suggest you talk to pool project admins to manually add your current server ip to other underserved pools, if you really want MORE traffic. India pool would be a good option… currently no more than 20 servers serving 1.3b population.


#7

I spun ip a new server in Bangalore it’s getting 2 billion queries a day.


#8

I suggest you talk to pool project admins to manually add your current server ip to other underserved pools, if you really want MORE traffic. India pool would be a good option… currently no more than 20 servers serving 1.3b population.

I spun up a new server in Bangalore it’s getting 2 billion queries a day.


#9

That mean it is very difficult to join - a normal fw would not be able to handle that load, so people on a normal home connection probably cant join without getting kicked out.

I had a connection briefly recieving NTP from India and even on the lowest setting it recieved more than 6MB/sek even on the lowest setting.