Without reports suggested by other users there's not much I can tell you.

What are global buffer sizes on prod/dev machines?

Preheat global cache by looping over data global and compare the timings after that.

List of utilities/reports that should help you:

  • pButtons – all info you  might need, open the ticket with WRC with this info.
  • mgstat –main metrics
  • PERFMON – get most used globals/routines
  • GLOSTAT – system metrics
  • %SYS.MONLBL – line by line code profiling
  • GLOBUFF – global buffer analysis

Check this series of articles by @Murray Oldfield.

but an approach could be with one client request end it, and return a new one

What for? Ending the session means the client exited. You can add additional user supplied cookie(s) and check/modify/delete them as you wish. On every request even.

The other option as mentioned is to encript trafic and therefore the cookie can no longer be used.

Cookies absolutely can be used with encrypted traffic. HTTP/HTTPS makes no difference for cookies sent by a browser.

That is right, but as long as the cookie session timeout is valid (let's say 60 seconds) anybody that intercepts that cookie is effectively authenticated as long as the timeout is valid.

Only as long as they share the same remote address. HTTPS offers additional protection. Really if someone can decode your HTTPS traffic to get the cookie you have a bigger problem.

Isn't there any way of invalidating a sessionID manually and creating a new one?

do %session.Logout()

Ends the session. Next request starts the new session.

Would be a great language to add.

Are you interested in calling Rust code from InterSystems IRIS or interfacing with InterSystems IRS from Rust?

Currently you can use Callin/Callout functionality for C/C++ and calll that from Rust.

A while ago I was trying Rust and successfully transpiled C callout library into Rust callout library and compiled it as Rust shared lib and it works (callable from InterSystems IRIS).

For this community project to take off two issues need to be solved:

  • Doing something with a lot of generated boilerplate <- Easy part, can probably just dump it into external file as is
  • Generating appropriate ZFEntry table. <-Probably possible but I have not researched the issue so far