Folks, imagine that on a new MPLS network, I have total of three sites connected with Cisco routers 2851 using VWIC2-2MFT-T1/E1 cards.
The primary application I need to guarantee performance is a proprietary TCP application which runs on TCP 6555-6580.
1) What QoS techniques should I explore on the respective routers in order to boost performance for such application. Application is known to be chatty.
2) Initially I will be using a 9Mbps circuit. What's the best way to determine, after 3 months of usage, whether 9Mbps circuit is adequate or whether I can scale down (go to a 4.5Mbps circuit for example) without impacting application performance?
Almost no QoS techniques boost performance, perhaps except for a very adroit RED. Most just try to guarantee performance, usually by assuring particular applications obtain the minimal bandwidth to work acceptably (at the expense of other application which receive even less than "fair" bandwidth).
QoS comes into play at congestion points, which often are your WAN links. Assuming you control the WAN egress routers, you can configure QoS pretty much as you desire, but with most WAN cloud technologies, such as MPLS, you also need to consider WAN cloud egress congestion.
You note you have 3 sites, but assuming each has the same size link, and assuming full mesh connectivity, what if two sites send to one site? I.e., congestion will form on the MPLS egress (from the cloud) link. This could be managed by shaping outbound bandwidth usage at each location or might be addressed by working within the MPLS provider's QoS model framework, if they have one.
You might start with CBWFQ class-default FQ for all traffic for location outbound QoS; MPLS egress congestion requires QoS option information from MPLS provider.
Some tool that analyzes netflow stats might answer your question or you might also look at Corvil Bandwidth Technology that's embedded in the later IOS images.