Skip to content

Latest commit

 

History

History
48 lines (36 loc) · 3.58 KB

lightweight-pooling-server-configuration-option.md

File metadata and controls

48 lines (36 loc) · 3.58 KB
title description author ms.author ms.reviewer ms.date ms.service ms.subservice ms.topic helpviewer_keywords
lightweight pooling (server configuration option)
Learn about the lightweight pooling option. See how it can provide better throughput in symmetric multiprocessing environments with excessive context switching.
rwestMSFT
randolphwest
jopilov
02/05/2024
sql
configuration
conceptual
default lightweight pooling
decreasing overhead
lightweight pooling option
system overhead [SQL Server]
performance [SQL Server], lightweight pooling
context switching [SQL Server], lightweight pooling option
excessive context switching [SQL Server]
reducing overhead
overhead [SQL Server]

lightweight pooling (server configuration option)

[!INCLUDE SQL Server]

Use the lightweight pooling option (also called fiber mode) to provide a means of reducing the system overhead associated with the excessive context switching sometimes seen in symmetric multiprocessing (SMP) environments. When excessive context switching is present, lightweight pooling might provide better throughput by performing the context switching inline, thus helping to reduce user/kernel ring transitions.

Limitations

Common language runtime (CLR) execution isn't supported under lightweight pooling. Disable one of two options: clr enabled or lightweight pooling. Features that rely upon CLR and that don't work properly in fiber mode include the hierarchyid data type, replication, and Policy-Based Management.

Lightweight pooling isn't supported on [!INCLUDE ssexpress-md] edition.

Remarks

Fiber mode, which is based on Windows fibers, is intended for situations in which the context switching of worker threads are the critical bottleneck in performance. Because this scenario is rare, fiber mode rarely enhances performance or scalability on a typical system. Improved context switching in Windows Server reduces the need for fiber mode.

We don't recommend that you use fiber mode scheduling for routine operation. Fiber mode can decrease performance by inhibiting the regular benefits of context switching, and because [!INCLUDE ssNoVersion] components that use Thread Local Storage (TLS) or thread-owned objects, such as Windows mutexes, can't function correctly in fiber mode.

Setting lightweight pooling to 1 causes [!INCLUDE ssNoVersion] to switch to fiber mode scheduling. The default value for this option is 0.

The lightweight pooling option is an advanced option. If you use the sp_configure system stored procedure to change the setting, you can change lightweight pooling only when show advanced options is set to 1. The setting takes effect after the server is restarted.

Related content