shelleyevans
Regular Contributor
I am trying to learn the ways of QoS, in order to improve VOIP calling. As recommended, I have installed the great script by @FreshJR, and am using adaptive QoS with manual download/upload bandwidth numbers. I am using stock firmware, because I am running AiMesh. My ultimate goal was to have bufferbloat scores of A+, but I have spent many hours over several months changing the numbers and running speed tests on DSLreports, and can't raise my bufferbloat above an "A". That's good enough that am ready to call it a day. But I remain extremely baffled by how QoS works. I would love to hear what more experienced members have to say about my observations:
(In the interest of a simpler read, I have edited this original post, with answers that emerged from the conversation below as well as further testing. My final (October 2) edits to these observations: AiMesh did NOT work for me when it came to controlling bufferbloat. I ran AiMesh for a long time, and was forced to use the stock SFQ queue discipline, which gave me very unpredictable results on DSLReports speedtest, and poor VOIP. I returned to Merlin WRT firmware, using FQ_Codel queue discipline and @FreshJR script, and everything is now working beautifully. )
1) Buffer-bloat scores on DSL reports are not consistent, even with the same set up on the router. It turns out that many combinations of download/upload bandwidth can sometimes give me an "A" in bufferbloat. In order to get a true sense of how a given download/upload combination performs, I have to run the test multiple times and then do the math-- 90% of the time 410/42 gives me an "A", for example, while 0% of the time 710/42 gives me a "A". Running the tests 8 or more times for each possible combination is unbelievably time consuming. Is this the way the tests are supposed to work, or am I doing something wrong?
Edit: unless somebody corrects me, my answer is, YES, this is how it works. You just have to run the numbers and study them. Painful. The best solution to that turns out to be make a DSLReports account, and start saving all those tests, making sure to NOTE on the test what your settings are when you test (ie, "AiMesh enabled, 700/40 Bandwidth"). You can go back later and add a note, by clicking the "results and share" button.
2) I can't get a reliable "A" in bufferbloat unless I set my download bandwidth at 410, which is less than half of my rated speed. I have a gigabit connection, rated at 900/35, with average speeds of 740/42. Many people advise using 80-90% of your average speeds, but if I enter those download bandwidth numbers my bufferbloat grade drops to a "C" and sometimes worse. Is it common to have to give up so much of your actual speed to get good bufferbloat scores?
Again, unless someone corrects, the answer is it could be the case, especially if you have really high download that the router has trouble managing, and/or really erratic download speeds, both of which are true for me. I currently set my download speeds at 440, slightly less than 1/2 of my rated ISP speeds. This gives me consistently good results with the setup described above.
3) Does setting my download bandwidth to 410 reduce my actual download speed to 410? Please excuse this apparently ignorant question. I still don't quite understand what happens to the other 250-450 bits of data coming from my ISP. YES
4) Lowering my upload bandwidth causes my bufferbloat grades to drop, sometimes dramatically. EDIT: This turns out not to be true, when using fq_codel queue discipline (Merlin Firmware)! Most of my bufferbloat woes were finally solved by moving away from sfq.
5) The upload bufferbloat (on the little test meter) fluctuates between 20-50ms, and sometimes spikes much higher, no matter what settings I change in the router. EDIT: This turns out not to be true, when using fq_codel queue discipline (Merlin Firmware)! Most of my bufferbloat woes were finally solved by moving away from sfq.
6) Raising my download bandwidth doesn't hurt the download bufferbloat numbers, but sometimes dramatically hurts the upload numbers. Why would raising the download bandwidth negatively impact upload bufferbloat? My bad: it DOESN'T. AT ALL. Once I studied the numbers more closely, I realized that raising download bandwidth hurts download BB, and doesn't do a thing to upload.
Apologies for this long thread, and thanks in advance to anybody who can provide insights. I have read a great deal on this topic, and invested a crazy amount of time trying to understand how QoS works. I'm ready to put the project to bed, but would like to try and make sense of what I have learned.
(In the interest of a simpler read, I have edited this original post, with answers that emerged from the conversation below as well as further testing. My final (October 2) edits to these observations: AiMesh did NOT work for me when it came to controlling bufferbloat. I ran AiMesh for a long time, and was forced to use the stock SFQ queue discipline, which gave me very unpredictable results on DSLReports speedtest, and poor VOIP. I returned to Merlin WRT firmware, using FQ_Codel queue discipline and @FreshJR script, and everything is now working beautifully. )
1) Buffer-bloat scores on DSL reports are not consistent, even with the same set up on the router. It turns out that many combinations of download/upload bandwidth can sometimes give me an "A" in bufferbloat. In order to get a true sense of how a given download/upload combination performs, I have to run the test multiple times and then do the math-- 90% of the time 410/42 gives me an "A", for example, while 0% of the time 710/42 gives me a "A". Running the tests 8 or more times for each possible combination is unbelievably time consuming. Is this the way the tests are supposed to work, or am I doing something wrong?
Edit: unless somebody corrects me, my answer is, YES, this is how it works. You just have to run the numbers and study them. Painful. The best solution to that turns out to be make a DSLReports account, and start saving all those tests, making sure to NOTE on the test what your settings are when you test (ie, "AiMesh enabled, 700/40 Bandwidth"). You can go back later and add a note, by clicking the "results and share" button.
2) I can't get a reliable "A" in bufferbloat unless I set my download bandwidth at 410, which is less than half of my rated speed. I have a gigabit connection, rated at 900/35, with average speeds of 740/42. Many people advise using 80-90% of your average speeds, but if I enter those download bandwidth numbers my bufferbloat grade drops to a "C" and sometimes worse. Is it common to have to give up so much of your actual speed to get good bufferbloat scores?
Again, unless someone corrects, the answer is it could be the case, especially if you have really high download that the router has trouble managing, and/or really erratic download speeds, both of which are true for me. I currently set my download speeds at 440, slightly less than 1/2 of my rated ISP speeds. This gives me consistently good results with the setup described above.
3) Does setting my download bandwidth to 410 reduce my actual download speed to 410? Please excuse this apparently ignorant question. I still don't quite understand what happens to the other 250-450 bits of data coming from my ISP. YES
4) Lowering my upload bandwidth causes my bufferbloat grades to drop, sometimes dramatically. EDIT: This turns out not to be true, when using fq_codel queue discipline (Merlin Firmware)! Most of my bufferbloat woes were finally solved by moving away from sfq.
5) The upload bufferbloat (on the little test meter) fluctuates between 20-50ms, and sometimes spikes much higher, no matter what settings I change in the router. EDIT: This turns out not to be true, when using fq_codel queue discipline (Merlin Firmware)! Most of my bufferbloat woes were finally solved by moving away from sfq.
6) Raising my download bandwidth doesn't hurt the download bufferbloat numbers, but sometimes dramatically hurts the upload numbers. Why would raising the download bandwidth negatively impact upload bufferbloat? My bad: it DOESN'T. AT ALL. Once I studied the numbers more closely, I realized that raising download bandwidth hurts download BB, and doesn't do a thing to upload.
Apologies for this long thread, and thanks in advance to anybody who can provide insights. I have read a great deal on this topic, and invested a crazy amount of time trying to understand how QoS works. I'm ready to put the project to bed, but would like to try and make sense of what I have learned.
Last edited: