You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-netapp-files/performance-linux-concurrency-session-slots.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ This article helps you understand concurrency best practices for session slots a
15
15
16
16
## NFSv3
17
17
18
-
NFSv3 does not have a mechanism to negotiate concurrency between the client and the server. The client and the server each defines its limit without consulting the other. For the best performance, you should line up the maximum number of client-side `sunrpc` slot table entries with that supported without pushback on the server. When a client overwhelms the server network stack’s ability to process a workload, the server responds by decreasing the window size for the connection, which is not an ideal performance scenario.
18
+
NFSv3 doesn't have a mechanism to negotiate concurrency between the client and the server. The client and the server each defines its limit without consulting the other. For the best performance, you should line up the maximum number of client-side `sunrpc` slot table entries with that supported without pushback on the server. When a client overwhelms the server network stack’s ability to process a workload, the server responds by decreasing the window size for the connection, which isn't an ideal performance scenario.
19
19
20
20
By default, modern Linux kernels define the per-connection `sunrpc` slot table entry size `sunrpc.tcp_max_slot_table_entries` as supporting 65,536 outstanding operations, as shown in the following table.
21
21
@@ -84,26 +84,26 @@ Example 4 uses the reduced per-client `sunrpc.tcp_max_slot_table_entry` value of
* The client will issue no more than 8 requests in flight to the server per connection.
97
+
* The client will issue no more than eight requests in flight to the server per connection.
98
98
* The server will accept no more than 128 requests in flight from this single connection.
99
99
100
-
When using NFSv3, *you should collectively keep the storage endpoint slot count to 10,000 or less*. It is best to set the per-connection value for `sunrpc.tcp_max_slot_table_entries` to less than 128 when an application scales out across many network connections (`nconnect` and HPC in general, and EDA in particular).
100
+
When using NFSv3, *you should collectively keep the storage endpoint slot count to 10,000 or less*. It's best to set the per-connection value for `sunrpc.tcp_max_slot_table_entries` to less than 128 when an application scales out across many network connections (`nconnect` and HPC in general, and EDA in particular).
101
101
102
102
### How to calculate the best `sunrpc.tcp_max_slot_table_entries`
103
103
104
104
Using *Littles Law*, you can calculate the total required slot table entry count. In general, consider the following factors:
105
105
106
-
* Scaleout workloads are often dominantly large sequential in nature.
106
+
* Scale-out workloads are often dominantly large sequential in nature.
107
107
* Database workloads, especially OLTP, are often random in nature.
108
108
109
109
The following table shows a sample study of concurrency with arbitrary latencies provided:
@@ -159,7 +159,7 @@ Module = "nfs"
159
159
}
160
160
```
161
161
162
-
To tune `max_session_slots`, create a configuration file under `/etc/modprobe.d` as such. Make sure that no “quotes” are present for the line in the file. Otherwise, the option will not take effect.
162
+
To tune `max_session_slots`, create a configuration file under `/etc/modprobe.d` as such. Make sure that no “quotes” are present for the line in the file. Otherwise, the option doesn't take effect.
0 commit comments