Cluster based web servers have been widely deployed by enterprises to accommodate the ever-increasing population Internet users. But during the period of high client loads, web clusters may still fail to provide timely service to all the clients, and part of the clients may suffer unacceptable long delay. In order to provide better service to premium users, QoS schemes need be implemented in the web clusters. Controlling mechanisms for stand-alone web server have been studied previous years, but it is still a challenging problem to design QoS controller for web clusters. In this paper, we apply a fuzzy Proportional Integral (PI) controller to dynamically assign system resources for guaranteeing proportional connection delay ratio. To overcome the difficulties caused by HTTP/1.1, we further propose a preemptive scheme which disconnects those idle clients with low priority if there is short of resources. We implement the controller in a real web cluster system based on Apache, and study the performance by extensive experiments. Our results show that (1) the proposed fuzzy PI controller achieves much better performance than classic PI controller; (2) the preemptive schemes outperform non-preemptive schemes significantly.