1. A method for providing a performance modeling service for a complex data processing system, comprising: approximating performance of the complex data processing system by a three component model for describing a flow of a total of “N” requests in the system, a first component for describing when a request is inactive and second and third components for describing when the request is active, a throughput “X” being defined as a rate as which requests circulate between being active and being inactive, said second component representing use by a request of a serial resource and said third component in series with said second component representing use by a request of one of “M” parallel resources, use of a resource having a waiting component and a utilizing component, a quantity “A” being total time that a request utilizes the serial resource, a quantity “B” being total time that a request utilizes a parallel resource, and a quantity “C” being total time that a request remains dormant in said inactive component, a service time “S” being defined as the sum “A+B+C”, a parallelism quotient “P” being defined as a ratio of “B” over “A+B”, and an activity quotient “V” being defined as a ratio of “A+B” over “S”; estimating the parameters “A”, “B”, “C” and “M” based on periodic measurements of throughput “X” and concurrency “N” using a simultaneous perturbation stochastic approximation; extending said three component model to a plurality of traffic classes, each traffic class i being characterized by a set of parameter estimates Pi(k)={Ai(k), Bi(k), Ci(k), Mi(k)} where “k” represents a step in said stochastic approximation; and allocating threads of execution of said system to each of the plurality of traffic classes so as to optimize a predicted average response time over a target average response time over all traffic classes.