Let's say I have a server with a lot of external IPs, 1024+. My users are causing heavy traffic but not all of them. The ones eating all the bandwidth are few and cause the other ones to suffer from low internet speed because they eat all bandwidth.
We're thinking of implementing a shaping rule to ensure everyone's happy or at least the majority is and we're debating over the best approach to do so.
First plan
Figure how many clients are logged on and split the bandwidth among them having everyone eat the same piece of cake.
Advantages:
- I don't pay big bills on bandwidth
Nobody's breaking the law
Disadvantages
bandwidth is split equal and users with low needs in bandwidth (reading papers, reading Facebook etc) will have the same bandwidth as heavy users who rely on my services for their business.
- all users will have the same bandwidth, but, the users with low needs will "jail" their share even though they won't need all of it so I'm left with a lot of bandwidth not being used
Second plan
Monitor users and see if they are on the bandwidth limit or over it (server total limit). If they reach that point try to identify what users are eating the most of it. If we find users eating more than 40%-50% of the total bandwidth send them to a jail for 20 minutes. Jail meaning lowering their bandwidth to 250kb/s for example.
Advantages:
- No bandwidth is wasted
- If no bandwidth is wasted important users can use more of it and I have happy clients
- It's a more intelligent solution allowing everyone to expand based on their needs
Uses a bandwidth police where the bad guys are jailed and the good guys (the many in most cases) are a happy society
Disadvantages
Monitoring tools on a heavy load server can put it "to sleep" as they tend to eat a lot of resources
- I may have no bad guys but a lot of good guys online and bandwidth going over the limit and be in the situation to not know who to punish (in this case we may apply First plan for 1 hour)
I'm open to a little brainstorming and suggestions