Performa
Bagaimana Knight bekerja di bawah beban, diukur di VPS biasa.
Angka ini berasal dari stress test loopback (1.000 klien simulasi di satu mesin). Ini menunjukkan overhead engine; latensi internet nyata bergantung pada jarak jaringan.
1.000 pemain terhubung
| Metrik | Hasil |
|---|---|
| Pemain terhubung | 1000 / 1000 |
| Waktu spawn (median) | ~5 ms |
| Waktu spawn (persentil 95) | ~6 ms |
| Round-trip chat (median) | < 1 ms |
| Memori server | ~18–19 MB |
| CPU server | ~2–4% |
Penskalaan
| Pemain | Semua spawn | Spawn median | Memori |
|---|---|---|---|
| 500 | 100% | ~5.6 ms | ~18 MB |
| 1000 | 100% | ~5.2 ms | ~18 MB |
| 1500 | 100% | ~5.5 ms | ~26 MB |
Tip
Knight tetap bekerja baik melewati ukuran populasi SA-MP pada umumnya. Memori dan CPU tetap rendah karena tidak ada VM Lua dan tidak ada scheduler scripting per pemain.
Apa yang memengaruhi performa
- Semua berbagi satu core. Knight memakai satu thread untuk tick loop, jadi callback gamemode yang lambat memengaruhi semua orang.
- Query database. Gunakan varian async (
sqlite_query_async,mysql_tquery) untuk query lambat. - Jarak streaming.
streamdistanceyang sangat besar mengirim lebih banyak data entitas per pemain. - Volume chat. Chat di-broadcast ke semua pemain terhubung.