On almost any interface where the traffic rate offered exceeds the inteface's tranmission rate, excess traffic is usually queued but the queue will often "overflow" and drop packets. For some traffic, such as TCP, dropped packets inform the sender to slow down. This is often normal behavior. At best, you can be clever on some devices to cause the least amount of drops (or no drops) while still informing the sender to slow its transmission rate or you need to insure there's sufficient bandwidth that sender(s) are not oversubscribed.
An example of the latter, 10, or less, host ports running at 100 Mbps should never overflow a gig uplink. However, 11, or more, hosts might.
Also note, some traffic will not slow down when there's packet drops.
In that case, it's possible queue sizes differ when MLS QoS is activated. (Also QoS's default WTD.) If traffic is "bursty" and it's nearly offered at maximum interface bandwidth, too small queues might needlessly drop packets.
It's also might be possible you were having drops with MLS QoS not active, but only noticed the drops within the MLS QoS stats. (I do note you mention seeing transmission rate drop. TCP will slow if there are drops.)
You can "tune" QoS queue/buffer parameters. See the QoS chapter for your version of IOS. In the configuration guide, see if there's a section "Allocating Buffer Space to and Setting WTD Thresholds for an Egress Queue-Set".
Pick any unused interface and apply/remove the following command: "auto qos voip trust" followed by the "no auto qos voip trust". This will resolve throughput issues on 10/100Mbps ports when "mls qos" is activated on the switch.
We are pleased to announce availability of Beta software for 16.6.3. 16.6.3 will be the second rebuild on the 16.6 release train targeted towards Catalyst 9500/9400/9300/3850/3650 switching platforms. We are looking for early feedback from custome...