Yes it is the right tool.
In fact the traffic shaping is implemented on kernel level. tc
is the userland interface tool to control it. It is part of the iproute2
package.
http://lartc.org/ has good documentation
or see also references in How to do traffic shaping (rate limiting) with TC per OpenVPN client
rate
in HTB classes is used to set the minimum desired speed to which to limit transmitted traffic.
Meaning the traffic should not be lower than the given rate
(like a guaranteed rate). It can be higher depending on other parameters like burst
and the configuration of the parent classes. But it does not drop anything if the actual transmission rate is lower than specified by the given rate
parameter.