Reasonable values for thread_cache_size in relation with Connections I want to know reasonable values for thread_cache_size in relation with the connections that you have. Which is the good proportion? And which proportions do you handle in relation with your clients connected?

Thanks!
Keep in mind that thread_cache_size controls a "cache".  It is the number of threads (or processes, depending on the OS) to keep open just in case another connection request comes soon.  There is some cost in creating a thread. (This depends on the OS, etc.)

For Windows, thread_cache_size should be zero.  (Sorry, I don't have a reference stating that.)

If thread_cache_size / max_connections &lt; 2% or > 15%, it may be poorly tuned.

If Threads_running / thread_cache_size > 2, then the cache may not be big enough.  (This depends on whether the number of connections is stable or fluctuating wildly.)

I suggest that Threads_created / Connections is not a good metric -- What if you have only one Connection/sec or 1000 Connections/sec?  Hence, I prefer this:  If Threads_created / Uptime > 3/second, I suggest that the cache needs increasing.

In a survey of systems, only 10% had Threads_created / Uptime > 0.26 / sec.

MySQL 5.6.8 automatically computes thread_cache_size based on max_connections.

MariaDB 10.2 takes a different approach; it "increases value of thread_cache_size to 32; adds 5 minute timeout before automatically removing threads from thread cache."  This feels like a good algorithm.

Bottom line:  One should rarely have to worry about thread_cache_size.