Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "Use windows fibers (lightweight pooling)" setting do in SQL Server 2014 server properties?

What does "Use windows fibers (lightweight pooling)" setting does in SQL Server server properties? enter image description here

like image 744
Ahsan Avatar asked Jun 20 '16 03:06

Ahsan


1 Answers

By default, SQL Server runs in what is called “thread mode.” What this means is that SQL Server uses what are called UMS (User Mode Schedulers) threads to run user processes. SQL Server will create one UMS thread per processor, with each one taking turns running the many user processes found on a busy SQL Server. For optimum efficiency, the UMS attempts to balance the number of user processes run by each thread, which in effect tries to evenly balance all of the user processes over all the CPUs in the server.

SQL Server also has an optional mode it can run in, called fiber mode. In this case, SQL Server uses one thread per processor (like thread mode), but the difference is that multiple fibers are run within each thread. Fibers are used to assume the identity of the thread they are executing and are non-preemptive to other SQL Server threads running on the server. Think of a fiber as a “lightweight thread,” which, under certain circumstances, takes less overhead than standard UMS threads to manage.

Source

like image 92
Chris Pickford Avatar answered Oct 06 '22 16:10

Chris Pickford