This paper proposes an automatic performance modeling approach for performance profiling of Web applications. In addition, the study proposes an automatic approach to build performance model. Both the user behaviors and their corresponding internal service relations are modeled, and the CPU time consumed by each service is also obtained through Kalman filter, which can “absorb” some level of noise in real-world data. Experimental results show that this approach can adapt to the change in both the inner and outer environments of Web applications and provide valuable information for capacity planning and bottleneck detection.