been testing relatively small data sets into my GridView, and all has worked fine. However, i\'ve now moved into proper UAT and have tried to load 17,000 records
You should look into caching the query on the web server, especially if it's infrequently updated. That way, all the clients can simply surf off the cache instead of hitting the database mercilessly.