Browse Source

Add sysctl instructions to the README

Ian Goldberg 9 months ago
parent
commit
9a351c2360
1 changed files with 14 additions and 0 deletions
  1. 14 0
      README.md

+ 14 - 0
README.md

@@ -44,6 +44,20 @@ The recommended OS is Ubuntu 22.04, but any Linux with a kernel at least 5.11 sh
 
 You will need docker installed; on Ubuntu 22.04, for example: `apt install docker.io`
 
+The TEEMS client simulator will open a socket to each client's ingestion server and storage server.  It will therefore require a number of open sockets that is twice the number of simulated users, plus a handful of additional file descriptors for logfiles, etc.  Our largest experiments simulate 1048576 (2<sup>20</sup>) users, and so the client simulator will use 2097162 file descriptors.  You will need to configure your OS to allow a process to have that many file descriptors.  You can see the maximum number currently configured with:
+
+`sysctl fs.nr_open`
+
+and you can set the value to 2097162 with:
+
+`sysctl fs.nr_open=2097162`
+
+In addition, **if** you attempt to run TEEMS on your bare machine instead of in a docker (running in a docker is strongly recommended), you will also need to similarly set:
+
+`sysctl net.nf_conntrack_max=2097162`
+
+Again, setting `net.nf_conntrack_max` is not necessary if you run TEEMS in a docker, as outlined in the instructions below.
+
 ## Building the TEEMS docker {#build-docker}
 
 To build the TEEMS docker, just run: