The rapid growth in size and complexity of distributed systems and the use of heterogeneous components require effective tools to manage their resources. Expert system technology possesses the potential to manage such large and complex systems based on heuristic knowledge in near real time. This paper presents a general approach to designing an expert system for the management of performance of a distributed function which is built based on the services provided by several application servers distributed across the network. Furthermore, the expert system re-allocates the application servers so that all the clients (who are running the same distributed function from different sites) will experience similar function response times. The presented expert system design has the following components: resource monitor, performance optimizer, and the Management Information Base (MIB).