Hi @wkaras & @chanshukit, Thanks for your responses. @chanshukit what you've recommended solves one issue of keeping a variable alive for the entire lifetime of a single request. But this variable is not available for the lifetime of ATS itself. That means each new request would initialize it fresh.
@wkaras We expect to serve around 300K QPM via ATS. Do you think it's prudent to keep loading the same config over and over into the current lua context? I am just trying to understand the impact of doing IO (faster because of RAM) but still IO. I tried mapping the file into memory and it sure works but I am concerned if this cause memory issues down the line. Thanks On Thu, Jul 14, 2022 at 1:10 AM Shu Kit Chan <chanshu...@gmail.com> wrote: > You can simply use a a global variable in the lua script to store the > configuration information > > And you can initialize that in the __init__ function, which is run at > the start of the server. > > You can see some examples. > here - > https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/lua.en.html#ts-stat-create > and here - > https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/lua.en.html#example-scripts > > On Wed, Jul 13, 2022 at 12:00 PM Walt Karas <wka...@yahooinc.com.invalid> > wrote: > > > > There is a way to do this in the C API (global arguments with > > TSUserArgSet/Get). But it doesn't look like these functions are > supported > > in the Lua API. Can you keep the data in a file, perhaps on a RAM disk > to > > make access fast? > > > > On Wed, Jul 13, 2022 at 4:41 AM Vishal Garg <gar...@media.net.invalid> > > wrote: > > > > > Hey, > > > ATS Version: v9.1 > > > OS: Ubuntu 22.04 > > > > > > I am writing a Lua plugin to allow custom rate limiting logic. > > > Right now each request has its own Lua state and thus no variables are > > > shared. > > > > > > I want to have a piece of config loaded which is read only and shared > > > across all requests coming in. > > > Current implementation loads config from Redis on each request and > stores > > > it in ctx to be used in multiple stages of a request. > > > > > > Is there a global variable available in Lua which I can initialize for > the > > > entire lifetime of ATS running and can be accessed by all requests? > > > > > > Thanks in advance > > > -- > > > *Vishal Garg* > > > Site Reliability Engineer II > > > Autoopt-3 > > > > -- *Vishal Garg* Site Reliability Engineer II Autoopt-3