Subject | Re: [Firebird-Architect] MySQL Connection Handling and Scaling |
---|---|
Author | James Starkey |
Post date | 2019-03-21T15:38:23Z |
What it doesn’t say is that each MySQL thread maintains it own data structures so there is almost no cross took between threads. If a storage engine needs to coordinate access, it’s the storage engine’s problem, not the MySQL server.
Incidentally, and I hope this is old news, is that a thread per connection is terribly wasteful of resources and scales poorly with concurrent connections. A better architecture is to assign a worker thread from a pool when a user connection initiates an interaction. Better still is the number of work threads active is restricted to the about the number of cores with a mechanism to release another worker thread when another stalls on a lock or I/O. A modest number of threads (greater than number of cores) is fine but massive number of threads just cause contention that needs to be managed.
On Thu, Mar 21, 2019 at 9:57 AM mapopa@... [Firebird-Architect] <Firebird-Architect@yahoogroups.com> wrote:
Jim Starkey