[MXS-758] Server side throttling Created: 2016-06-07  Updated: 2016-10-10  Resolved: 2016-10-10

Status: Closed
Project: MariaDB MaxScale
Component/s: N/A
Affects Version/s: None
Fix Version/s: N/A

Type: Task Priority: Major
Reporter: Dipti Joshi (Inactive) Assignee: Unassigned
Resolution: Incomplete Votes: 0
Labels: None


 Description   

Since MariaDB and MySQL database server has max_connections Server System Variable, the MaxScale monitor can query this variable

MaxScale Monitor should report the max_connections system variable for each server
At a time MaxScale should not have more than max_connections number of concurrent connections towards a backend server.

When client connection request results in need a new backend server connection, if the number of concurrent connection from MaxScale to the backend server has reached max_connections value for that server

  • MaxScale should reject the incoming client connection with a connection error
  • MaxScale should not make a connection request to that server


 Comments   
Comment by martin brampton (Inactive) [ 2016-06-07 ]

It is not clear why this would be a good thing to do. There are various reasons for this:

  • No use case has been provided
  • The database server is likely to be configured with a high limit for maximum connections that is beyond the capacity of MaxScale
  • Within MaxScale, we do not know what other loads there may be on the database server, and therefore do not know that it is sensible to allow MaxScale to run up to the server limit; we cannot assume that MaxScale is the only client for the database server
  • Running right up to the limit is bad because once the limit is reached, no further connections can be made, meaning that a root user cannot get in to the server to exercise control or deal with a problem
  • It is architecturally awkward to do. This could be overcome, but there do not seem to be enough reasons to justify such work. Without significant changes, the error received by the user would be that the session could not be established (which also has a number of other possible causes).
  • The user who writes the configuration file is in a better position to judge what limits to put on MaxScale connections than an automatic process
  • Limitation of connections is being provided on the client side, on a per service basis, and this seems the logical point at which to constrain connections
  • SFAIK there is no client who wants this badly enough to pay for it.
Comment by Johan Wikman [ 2016-10-10 ]

Use-case missing.

Not clear why MaxScale should do this.

Generated at Thu Feb 08 04:01:42 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.