In this paper we present a comprehensive measurement study of GridCast, a deployed experimental P2P VoD system. Using a 2-month log of GridCast, we evaluate its scalability and end user experience. Motivated by the observations on user behavior and unused peer resource, we further optimize its performance. Our key findings are: (1) a moderate number of concurrent users can derive satisfactory user experience. However, good network bandwidth at peers and adequate server provisioning are still critical to good user experience; (2) a simple prefetching algorithm can be effective to improve random seeks; (3) a simple caching across multiple videos has great potential to further improve system scalability. Overall, we believe that it is feasible to provide a cost-effective P2P VoD service with acceptable user experience, and there is a fundamental tradeoff between good user experience and system scalability.