lp:~akopytov/percona-server/priority-scheduling-for-threadpool-5.5

Created by Alexey Kopytov on 2013-04-02 and last modified on 2013-04-03
Get this branch:
bzr branch lp:~akopytov/percona-server/priority-scheduling-for-threadpool-5.5
Only Alexey Kopytov can upload to this branch. If you are Alexey Kopytov please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

461. By Alexey Kopytov on 2013-04-03

Implementation of:

https://blueprints.launchpad.net/percona-server/+spec/priority-scheduling-for-threadpool

Introduce the new ' thread_pool_high_prio_tickets' configuration option
to thread pool implementation with the following semantics:

This variable controls the high priority queue policy. Each new
connection is assigned this many tickets to enter the high priority
queue. Whenever a query has to be queued to be executed later because no
threads are available, the thread pool puts the connection into the high
priority queue if the following conditions apply:

1. The connection has an open transaction in the server.
2. The number of high priority tickets of this connection is non-zero.

If both the above conditions hold, the connection is put into the high
priority queue and its tickets value is decremented. Otherwise the
connection is put into the common queue with the initial tickets value
specified with this option.

Each time the thread pool looks for a new connection to process, it
first checks the high priority queue, and picks connections from the
common queue only when the high priority one is empty.

The idea is to minimize the number of open transactions in the
server. In many cases it is beneficial to give short-running
transactions a chance to commit faster and thus deallocate server
resources and locks without waiting in the same queue with other
connections that are about to start a new transaction, or those that
have run out of their high priority tickets.

With the default value of 0, all connections are always put into the
common queue, i.e. no priority scheduling is used as in the original
implementation in |MariaDB|. The higher is the value, the more chances
each transaction gets to enter the high priority queue and commit before
it is put in the common queue.

460. By <email address hidden> on 2013-02-28

Merge lp:~percona-core/percona-server/release-5.5.29-30.0

459. By <email address hidden> on 2013-02-27

Merge lp:~akopytov/percona-server/bug1123921

458. By <email address hidden> on 2013-02-27

Merge lp:~akopytov/percona-server/bug1132350

457. By <email address hidden> on 2013-02-27

Merge lp:~akopytov/percona-server/bug1132351

456. By <email address hidden> on 2013-02-27

Empty merge from Percona Server 5.1

455. By <email address hidden> on 2013-02-27

Empty merge from Percona Server 5.1

454. By <email address hidden> on 2013-02-26

Merge lp:~hrvojem/percona-server/rn-5.5.29-30.0-fix

453. By <email address hidden> on 2013-02-26

Merge lp:~akopytov/percona-server/bug1123915

452. By <email address hidden> on 2013-02-26

Merge lp:~akopytov/percona-server/bug1130655

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:percona-server/5.6
This branch contains Public information 
Everyone can see this information.

Subscribers