One strategy for alleviating excess latency (delay) in the Internet is the caching of web content at multiple locations. This reduces the number of hops necessary to reach the desired content. This strategy is used for web content such as html pages, images, streaming video, and Internet radio. The network of servers which store this content, and the collections of objects stored on each server, is called a content distribution network (CDN). In order to optimally design a CDN, given a network topology with available server storage capacity at various points in the network, one must decide which object collections to place on each server in order to achieve performance or cost objectives. The placements must be within the storage limits of the servers and must reflect the request patterns for each collection of objects to be cached. Researchers have suggested formulations for the CDN problem which address performance by minimizing latency (the average number of hops is a commonly accepted measure of latency) from client to content, or formulations that focus on minimizing cost of storage and/or bandwidth. In this research, we develop a model which allows for the simultaneous treatment of performance and cost, present examples to illustrate the application of the model and perform a detailed designed experiment to gain insights into cost/hops tradeoff for a variety of network parameters.