frappe / frappe/press

[Enhancement]: Experiment with a different WSGI HTTP server

Open
#4,597 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
562
Forks
410
Avg merge
22h 15m
Merged PRs (30d)
197

Description

### Affected Area

Performance

### Problem Statement

Experiment with a slightly better!? web server.

Some eyeballed/unreproduced tests on my production bench.

```bash
granian --host 0.0.0.0 --port 8000 --interface wsgi --workers 3 --respawn-failed-workers --workers-kill-timeout 30 --no-reload frappe.app:application
```
instead of
```bash
gunicorn --bind 0.0.0.0:8000 --workers 3 --timeout 120 --graceful-timeout 30 --worker-tmp-dir /dev/shm frappe.app:application --preload --statsd-host=10.25.9.108:9125 --statsd-prefix=bench-31400-000001-u8-nuremberg --worker-class=gthread --threads=4 --max-requests 5000 --max-requests-jitter 1000 --access-logfile /home/frappe/frappe-bench/logs/u8-nuremberg.frappe.cloud-gunicorn.access.log
```

https://github.com/frappe/agent/blob/522fdf00e4f61dc0d14aebec3f35ffe0feb2952f/agent/templates/bench/supervisor.conf#L8

Better RSS. Better SHR. Needs confirmation.
After
Image
Before
Image

### Proposed Solution

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the referenced agent/templates/bench/supervisor.conf line 8 and compare its Gunicorn setup with the provided Granian command. Run reproducible benchmarks that measure RSS and SHR, then document whether the alternative is safe to adopt and what configuration changes are required.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devops, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.