The forwarders can't switch to an (idle) indexer until they reach EOF on the file they're currently reading. A forwarder can typically overwhelm a single indexer with straight up throughput, so it won't be able to reach EOF on busy files because it's being throttled by the indexer. If your events are small (say, < 10kB) you can use the forceTimeBasedAutoLB option on the forwarders to allow it to switch before EOF (magic, and blog posts).
Also, I'll point out that a full agg queue is related to TRANSFORMS and/or SEDCMD. If you can reduce the number of these acting on the data, that could help your overall throughput. If you need them, consider SHOULD_LINEMERGE as an alternative optimization. The details of the implementation of this will streamline certain parts of the indexing process. See here for more information.
... View more