Hi ;
this is a rapid reply to this case .
as you are using pppoe you should put two things in your mind .
do not use profiles in the pppoe and instead of that you have to create a pool for each user , this pool containing only one ip to be assigned to the user .
do the bandwidth control on the users through the queue .
if you limit the upload , then you will notice any difference in the cache , so the upload should be enough all the time to make the browsing cool .
as the reply above , post the configuration for the NAT here to see if you put the dst-nat rule or not .
with best regards .