thread_cache_size thread_concurrency

The thread cache hit rate can be calculated with Threads_created/Connections. Ideally you want the threads cached to be able to handle all connections. So a stable (zero growth) or low Threads_created status variable is the goal.

A thread_cache_size of zero is the default for my-medium.cnf but the recommended size in my-large.cnf is 8.
Depending on your specific situation, in some case this value can be very high (like 150+).
For an idea of the value needed, check the status variable Max_used_connections. If possible have thread_cache_size equal to the peak Max_used_connections value.
According to my-large.cnf the value for thread_concurrency should follow: number of CPU's*2 for thread_concurrency

My Values:
thread_cache_size (default 0: no thread caching) = 30 (Previous value: 20)
thread_concurrency = 4