The Web proxy cache placement problem is a classical optimization problem: place N proxies within an internetwork so as to minimize the average user response time for retrieving Web objects. In this paper, we tackle this problem using packet-level ns2 network simulations. There are three main conclusions from our study. First, network-level effects (e.g., TCP dynamics, network congestion) can have a significant impact on user-level Web performance, and must not be overlooked when optimizing Web proxy cache placement. Second, cache filter effects can have a pronounced impact on the overall optimal caching solution. Third, small perturbations to the Web workload can produce quite different solutions for optimal proxy cache placement. This implies that robust, approximate solutions are more important than "perfect" optimal solutions. The paper provides several general heuristics for cache placement based on our packet-level simulations.