In multi-tier enterprise systems, application servers are key components to implement business logic and provide services. To support a large number of simultaneous accesses from clients over the Internet and intranet, most application servers use replication and/or multi-thread technologies to handle concurrent requests. While multi-processes and multi-threads enhance the processing bandwidth of servers, they may also increase the contention on application servers. This paper investigates this issue based on our internal middleware benchmark. A cost model is proposed to estimate overall performance of application servers, including the contention overhead. This model can be used to determine the optimal degree of the concurrency of application servers for a specific client load. A case study based on CORBA is presented to validate our model and demonstrate its application. Categories and Subject Descriptors D.2.8 [Software Engineering]: performance modeling General Terms Measurement ...