Why is my threads_connected ALWAYS = 1?
There are two different issues -- threads connected and threads running.

In a typical, well oiled, production server, you will see this in SHOW PROCESSLIST:


Lots of "Sleep" connections,
Fewer than max_connections lines in the processlist,
One, or a small number, of non-Sleep connections.
Most queries are so fast that they go back to Sleep before you notice it.  I often see "thousands of Queries per second", yet "nothing running".  This is good.


"Sleep" means that the connection is not running a query at the moment.  Instead it might be doing application processing, or it might be part of a "connection pool".

The reason you always see "1" is that you have to run a query (SHOW PROCESSLIST or something else) to get the number.  So the "1" is itself.

You said Threads_connected is always 1.  Did you mean Threads_running?  Note also the capitalization.

What is the value of thread_cache_size?  8 is typical, but the exact value does not matter a lot.

What about Max_used_connections and max_connections?

Is there any sort of "connection pooling"?  Are there multiple clients?

Consider providing me with the info mentioned in tuning here .