From: Peter van Dijk Date: Tue, 2 Aug 2022 12:48:33 +0000 (+0200) Subject: LUA records: describe shared state UDP/TCP difference X-Git-Tag: auth-4.8.0-alpha0~1^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c066e4bd0639593de3cf3ca31411539e3e77eafe;p=thirdparty%2Fpdns.git LUA records: describe shared state UDP/TCP difference --- diff --git a/docs/lua-records/index.rst b/docs/lua-records/index.rst index 37f46e9cc3..c3e08efbcd 100644 --- a/docs/lua-records/index.rst +++ b/docs/lua-records/index.rst @@ -219,7 +219,7 @@ The default mode of operation for LUA records is to create a fresh Lua state for This way, different LUA records cannot accidentally interfere with each other, by leaving around global objects, or perhaps even deleting relevant functions. However, creating a Lua state (and registering all our functions for it, see Reference below) takes measurable time. For users that are confident they can write Lua scripts that will not interfere with eachother, a mode is supported where Lua states are created on the first query, and then reused forever. -Note that the state is per-thread, so while data sharing between LUA invocations is possible (useful for caching and reducing the cost of ``require``), there is not a single shared Lua environment. +Note that the state is per-thread (for UDP, plus one shared state for all TCP), so while data sharing between LUA invocations is possible (useful for caching and reducing the cost of ``require``), there is no single shared Lua environment. In non-scientific testing this has yielded up to 10x QPS increases. To use this mode, set ``enable-lua-records=shared``.