In this paper, we address the problem of content placement in peer-to-peer systems, with the objective of maximizing the utilization of peers' uplink bandwidth resources. We consider system performance under a many-user asymptotic. We identify optimal content placement strategies in a particular scenario of limited content catalogue, casting the problem into the framework of loss networks. We then turn to an alternative "large catalogue" scaling where the catalogue size grows with the peer population. Relating the system performance to properties of a specific random graph model, we establish a content placement strategy which again maximizes system performance, provided storage space per peer grows unboundedly, although arbitrarily slowly, with system size. Categories and Subject Descriptors C.2.1 [Network Architecture and Design]: Distributed networks General Terms Algorithms, Performance, Theory