I'm working on migrating sdzerobot from Grid to k8s. This tool account powers [[https://en.wikipedia.org/wiki/User:SDZeroBot|SDZeroBot]] on enwiki. Requesting the following quota raises:
- +1 deployment. Currently on the limit 3/3. +1 would help with overheads from test deployments and future tasks.
- +8Gi memory. It seems the webservice is taking up 4.5Gi of memory (not configured anywhere, this seems the default), leaving only 3.5Gi for other tasks.
- The `stream` task (a continuous task that uses a single EventStream connection for processing different kinds of events for different bot tasks) should need 3-4Gi. But as the Grid doesn't show memory usage stats and k8s does, I'm happy to monitor the graphs and reduce the mem value as required.
- The `dyk-counts` is a specialisation of `stream` task for one bot task. Used 4g on Grid. But could be merged into `stream`.
- There are 25 cron jobs. I've run into OOMs with most of them when run with <1g of memory on the Grid, likely due to batched API calls which can receive page contents of upto 500 wiki pages in one request. Most of these were set with mem=2g on Grid. 4-5 of these tasks can run simultaneously at the busiest time (midnight).
- So overall current worst case memory usage: 4.5 (webservice) + 4 (stream) + 4 (dyk-counts) + 5 * 2 (cronjobs) = 22.5 Gi. Can you please provide 16Gi to begin with?
- +1 or +2 CPUs. All tasks use default cpu counts. Currently limits.cpu is 1/2 with just the webservice and stream task running. When the 4-5 concurrent cronjobs run, I'm guessing we'd be out of quota.