1. A mobile device for optimizing upload performance, comprising: a memory; a processor disposed in communication with the memory, and configured to execute instructions stored in the memory to: identify different types of routes between a first location and a second location, wherein the first location corresponds to a user device and the second location corresponds to a host server; perform an upload speed test to measure an upload speed associated with the different types of routes from the first location to the second location; detect a user request to upload a file from the first location to the second location; and based on results from the upload speed test, select a route from among the different types of routes to upload the file.