It sounds like one of the join conditions might be wrong. Can you click on the venn diagram for each join and provide a screenshot of that?
I was hoping it would be something super obvious, but unfortunately it isn't.
Here's what I would suggest;
Break your connection down into pieces. Start with just GapsArchives and IISPerfArchives. Refresh the extract and take a look at the row count. If all looks normal, proceed to introduce reportPerfArchives and refresh again.
Without being able to see your actual data it's hard to say what the problem might be. But here's some general guidance;
If you have 157k records in the GapsArchives table and they all contain the same 'App Server RSS' value of say 'WOMBAT' and you're joining to the PerfArchives table on the AppServerRSS field and they all contain the value 'WOMBAT' as well, it means you're going to end up with a total of 157k GapsArchives * 6986 IISPermArchives records because each GapsArchives record will be joined to each IISPermArchives record.
A good starting place might actually be to filter on the 'GapsArchives' 'App Server RSS' field to select only one value. Then once it's extracted, view the data and you'll get a better understanding of how it's joining.