sharded-gotify/api/stream
Colin a4f41768ba
Optimize WebSocket implementation for millions of connections
- Implement sharded client storage (256 shards by default) to eliminate mutex contention
- Replace slice-based storage with map structure for O(1) token lookup
- Increase WebSocket buffer sizes (8192 bytes) and channel buffers (10 messages)
- Optimize Notify method with per-shard locking
- Add configuration options for shard count and buffer sizes
- Add comprehensive benchmarking setup with docker-compose
- Include k6 load testing scripts for WebSocket performance testing
- All existing tests pass with new sharded implementation
2025-11-20 14:43:33 -05:00
..
client.go Optimize WebSocket implementation for millions of connections 2025-11-20 14:43:33 -05:00
once.go Format all go files 2019-01-01 23:34:42 +01:00
once_test.go Add once test 2018-11-22 20:59:29 +01:00
stream.go Optimize WebSocket implementation for millions of connections 2025-11-20 14:43:33 -05:00
stream_test.go Optimize WebSocket implementation for millions of connections 2025-11-20 14:43:33 -05:00