Server side applications are extensively developed by multithreading approach with the claim that it offers efficient resource utilization and promotes SMP architecture. Two competitive multithreading models are thread-per-request and thread pool. Thread pool architecture have been proved as a more responsive and more performance efficient, because of its pre-spawning and recycling a pool of threads. Many popular server applications have now adopted the thread pool architecture to tackle high loads and slowdown situations. But tuning the thread pool system at the optimal level and dynamically changing its size is still a challenging task of thread pool system. This thesis presents a dynamic optimization strategy for thread pool system which is named Frequency Based Optimization Strategy (FBOS) that can change the size of thread pool based on the set of quantitative measures and let the thread pool system running gracefully. The Frequency Based Optimization Strategy (FBOS) reacts on the basis of client?s request frequencies to gain more performance. FBOS is implemented in Java to adjust the size of thread pool dynamically so that wait time and turnaround time of requests can be reduced and performance of the server can be increased.