Skip to content

Update go app configs#12

Open
thelovekesh wants to merge 7 commits into
drizzle-team:mainfrom
thelovekesh:update/go-app-configs
Open

Update go app configs#12
thelovekesh wants to merge 7 commits into
drizzle-team:mainfrom
thelovekesh:update/go-app-configs

Conversation

@thelovekesh
Copy link
Copy Markdown
Contributor

@thelovekesh thelovekesh commented Dec 13, 2025

  • Remove hard-coded max connection limits
  • Add clustering just like bun server

After running the bench command, here are the results:

  • Go: 3496.899865/s
  • Bun: 3212.915118/s

@thelovekesh
Copy link
Copy Markdown
Contributor Author

@RomanNabukhotnyi one more change to merge

@thelovekesh
Copy link
Copy Markdown
Contributor Author

thelovekesh commented Dec 13, 2025

Bun+Drizzle

$ bunx tsx bench/index.ts --host http://localhost:3000 --name bun-bench --folder bun-results

[bench] running (5m40.6s), 0000/3000 VUs, 1094393 complete and 0 interrupted iterations
[bench] default ✓ [ 100% ] 0000/3000 VUs  5m40s
[bench] 
[bench] 
[bench]   █ TOTAL RESULTS 
[bench] 
[bench]     HTTP
[bench]     http_req_duration..............: avg=245.15ms min=382.21µs med=198.43ms max=2.67s p(90)=535.18ms p(95)=692.84ms
[bench]       { expected_response:true }...: avg=245.15ms min=382.21µs med=198.43ms max=2.67s p(90)=535.18ms p(95)=692.84ms
[bench]     http_req_failed................: 0.00%   0 out of 1094393
[bench]     http_reqs......................: 1094393 3212.915118/s
[bench] 
[bench]     EXECUTION
[bench]     iteration_duration.............: avg=537.26ms min=556.06µs med=502.41ms max=5.21s p(90)=932.39ms p(95)=1.09s   
[bench]     iterations.....................: 1094393 3212.915118/s
[bench]     vus............................: 1022    min=14           max=3000
[bench]     vus_max........................: 3000    min=3000         max=3000
[bench] 
[bench]     NETWORK
[bench]     data_received..................: 1.4 GB  4.2 MB/s
[bench]     data_sent......................: 172 MB  506 kB/s

Go

$ bunx tsx bench/index.ts --host http://localhost:3002 --name go-bench --folder go-results

[bench] running (5m40.9s), 0000/3000 VUs, 1192013 complete and 0 interrupted iterations
[bench] default ✓ [ 100% ] 0000/3000 VUs  5m40s
[bench] 
[bench] 
[bench]   █ TOTAL RESULTS 
[bench] 
[bench]     HTTP
[bench]     http_req_duration..............: avg=230.85ms min=262.47µs med=186.14ms max=1.14s p(90)=484.34ms p(95)=686.44ms
[bench]       { expected_response:true }...: avg=230.85ms min=262.47µs med=186.14ms max=1.14s p(90)=484.34ms p(95)=686.44ms
[bench]     http_req_failed................: 0.00%   0 out of 1192013
[bench]     http_reqs......................: 1192013 3496.899865/s
[bench] 
[bench]     EXECUTION
[bench]     iteration_duration.............: avg=496.95ms min=424.71µs med=474.02ms max=1.87s p(90)=887.36ms p(95)=1.03s   
[bench]     iterations.....................: 1192013 3496.899865/s
[bench]     vus............................: 1255    min=16           max=3000
[bench]     vus_max........................: 3000    min=3000         max=3000
[bench] 
[bench]     NETWORK
[bench]     data_received..................: 1.5 GB  4.5 MB/s
[bench]     data_sent......................: 188 MB  551 kB/s

Here are the bench results zstd compressed parquet files.

@thelovekesh
Copy link
Copy Markdown
Contributor Author

thelovekesh commented Dec 13, 2025

Above benchmarks are generated on a dedicated server with these specs without any changes to the code.

OS: Ubuntu 24.04.3 LTS (Noble Numbat) x86_64
Host: Droplet (20171212)
Kernel: Linux 6.8.0-90-generic
Uptime: 31 mins
Packages: 689 (dpkg)
Shell: bash 5.2.21
Display (QEMU Monitor): 1024x768 in 13", 75 Hz
Terminal: /dev/pts/0 9.6p1
CPU: Intel(R) Xeon(R) Platinum 8280 (4) @ 2.69 GHz
GPU: RedHat Virtio 1.0 GPU
Memory: 647.25 MiB / 7.76 GiB (8%)
Swap: Disabled
Disk (/): 5.64 GiB / 47.39 GiB (12%) - ext4
Local IP (eth0): 143.110.186.105/20
Locale: C.UTF-8
Machine Spec image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant