we have increased performance by increasing RAM, qaud core CPU, RAID 5 15 k, optimizing query ( slow query log analysis ), partitioning, adding more slaves to have select queries there, removing key constraints, adding proper indexes all we found at percona and mysql and our experience.
for you information our DB size is 500 GB with 10K qps on master and 5 qps on slaves.
Also we have selective replication for specific tables.
Data growth alone can not be a reason for slowness. If you have good indices such that old data pages are never read, archiving won’t noticably increase performance. If such good indices do not exist because the queries do not allow them, denormalization might help. I really see archiving as a last attempt because it increases complexity.