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: perform an upload speed test to measure an upload speed associated with each of multiple servers; detect a user request to upload a file to a host server, wherein the host server is one of the multiple servers; and based on results from the upload speed test, select one of the multiple servers to upload the file.