Skip to content

Commit 1c197cf

Browse files
committed
acrolinx
1 parent 730c525 commit 1c197cf

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

articles/azure-netapp-files/performance-linux-concurrency-session-slots.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ This article helps you understand concurrency best practices for session slots a
1515

1616
## NFSv3
1717

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.
1919

2020
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.
2121

@@ -84,26 +84,26 @@ Example 4 uses the reduced per-client `sunrpc.tcp_max_slot_table_entry` value of
8484

8585
* `NFS_Server=10.10.10.10, NFS_Client1=10.10.10.11`
8686
* `Connection (10.10.10.10:2049, 10.10.10.11:6543,TCP)`
87-
* The client will issue no more than 8 requests in flight to the server per connection.
87+
* The client will issue no more than eight requests in flight to the server per connection.
8888
* The server will accept no more than 128 requests in flight from this single connection.
8989
* `NFS_Server=10.10.10.10, NFS_Client2=10.10.10.12`
9090
* `Connection (10.10.10.10:2049, 10.10.10.12:7820,TCP) `
91-
* The client will issue no more than 8 requests in flight to the server per connection.
91+
* The client will issue no more than eight requests in flight to the server per connection.
9292
* The server will accept no more than 128 requests in flight from this single connection.
9393
* ``
9494
* ``
9595
* `NFS_Server=10.10.10.10, NFS_Client250=10.10.11.13`
9696
* `Connection (10.10.10.10:2049, 10.10.11.13:4320,TCP) `
97-
* 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.
9898
* The server will accept no more than 128 requests in flight from this single connection.
9999

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).
101101

102102
### How to calculate the best `sunrpc.tcp_max_slot_table_entries`
103103

104104
Using *Littles Law*, you can calculate the total required slot table entry count. In general, consider the following factors:
105105

106-
* Scale out workloads are often dominantly large sequential in nature.
106+
* Scale-out workloads are often dominantly large sequential in nature.
107107
* Database workloads, especially OLTP, are often random in nature.
108108

109109
The following table shows a sample study of concurrency with arbitrary latencies provided:
@@ -159,7 +159,7 @@ Module = "nfs"
159159
}
160160
```
161161

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.
163163

164164
`$ sudo echo “options nfs max_session_slots=180” > /etc/modprobe.d/nfsclient.conf`
165165
`$ sudo reboot`

0 commit comments

Comments
 (0)