M2 안정성: 부하·장애 주입 테스트 통과 + 재시작 후 시간 초과 몰림 수정
- 2,000 연결 / 500 방 / 초당 248 행동: p95 20ms, p99 37ms, CPU 0.2코어, 메모리 141MB, 오류 0 - 부하 중 SIGKILL→재시작: 2,000 연결 자동 복구, 수 유실 0 - 복구된 방 마감을 30초 + 0~30초 무작위로 분산(몰림으로 p99 336ms → 40ms) - 보고서: docs/reports/load-20261004.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -160,7 +160,13 @@ const cpu = () => {
|
||||
const st = require('node:fs').readFileSync(`/proc/${pid}/stat`, 'utf8').split(') ')[1].split(' ');
|
||||
return (Number(st[11]) + Number(st[12])) / 100; // utime+stime seconds (USER_HZ=100)
|
||||
};
|
||||
const rss = () => (pid ? Number(/VmRSS:\s+(\d+)/.exec(require('node:fs').readFileSync(`/proc/${pid}/status`, 'utf8'))![1]) / 1024 : NaN);
|
||||
const rss = () => {
|
||||
try {
|
||||
return pid ? Number(/VmRSS:\s+(\d+)/.exec(require('node:fs').readFileSync(`/proc/${pid}/status`, 'utf8'))![1]) / 1024 : NaN;
|
||||
} catch {
|
||||
return NaN; // server was restarted (chaos mode)
|
||||
}
|
||||
};
|
||||
const cpu0 = cpu();
|
||||
const start = performance.now();
|
||||
let chaosDone = false;
|
||||
|
||||
Reference in New Issue
Block a user