เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจ เจคเฉ เจเจฟเจเจจเจฟเฉฐเจ เจเจพเจนเจเจพเจ เจฒเจ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฆเฉ เจชเจพเจฒเจฃเจพ เจฆเฉ เจชเฉเจธเจผเจเฉ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจธเจผเจเจคเฉเจธเจผเจพเจฒเฉ เจธเจพเจงเจจ เจนเฉเฅค
เจเจพเจฐเจเจเฉเจธเจผเจฒเจคเจพ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฟเจเจจเจฟเฉฐเจ เจชเฉเจฐเจฏเฉเจเจพเจ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจตเจฟเจเจฟเจเจจเจ เจชเจนเฉเฉฐเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจเฉ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจตเจฟเฉฑเจ เจฐเฉเจเจพเจตเจเจพเจ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเฉเฅค เจเจน เจฒเฉเจ เจเฉฑเจ เจเจฆเจพเจนเจฐเจจ เจฆเฉ เจคเฉเจฐ 'เจคเฉ เจเฉฑเจ เจเฉ เจตเฉเจฌเจธเจฐเจตเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ, เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจ เจคเฉ เจเจฟเจเจจเจฟเฉฐเจ เจฒเจ เจเฉฑเจ เจเจฎ เจชเจนเฉเฉฐเจ เจจเฉเฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเจฐเจฆเจพ เจนเฉเฅค
เจเฉ เจเฉฑเจฅเฉ เจตเจฟเจธเจผเฉเจธเจผ เจคเฉเจฐ 'เจคเฉ เจตเจงเฉเจ เจนเฉ เจเจฟเจเจเจเจฟ เจเจธ เจตเจฟเฉฑเจ เจชเฉเจฐเฉเจซเจพเจเจฒเจฟเฉฐเจ เจเฉเจฒ เจนเจจ pprof
เจฎเจฟเจเจฐเฉ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจตเจฟเฉฑเจ.
เจฐเจฃเจจเฉเจคเฉ
เจเจ เจธเจพเจกเฉ เจขเจพเจเจเจพเจเจค เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฒเจ เจเฉฑเจ เจธเฉฐเจเฉเจช เจธเฉเจเฉ เจฌเจฃเจพเจเจเฅค เจ เจธเฉเจ เจ เจจเฉเจญเจต เจเจพเจ เจ เจจเฉเจฎเจพเจจ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ เจฌเจฆเจฒเจพเจ เจเจฐเจจ เจฆเฉ เจฌเจเจพเจ เจซเฉเจธเจฒเฉ เจฒเฉเจฃ เจฒเจ เจเฉเจ เจกเฉเจเจพ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจพเจเจเฉเฅค เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ เจ เจธเฉเจ เจเจน เจเจฐเจพเจเจเฉ:
- เจ เจธเฉเจ เจ เจจเฉเจเฉเจฒเจคเจพ เจฆเฉเจเจ เจนเฉฑเจฆเจพเจ (เจฒเฉเฉเจพเจ) เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจฆเฉ เจนเจพเจ;
- เจ เจธเฉเจ เจธเจฟเจธเจเจฎ เจฒเจ เจเฉเจฐเจพเจเจเฉเจเจธเจผเจจ เจฒเฉเจก เจฆเฉ เจเจฃเจจเจพ เจเจฐเจฆเฉ เจนเจพเจ;
- เจ เจธเฉเจ เจเฉเจธเจ เจเจฐเจฆเฉ เจนเจพเจ (เจกเฉเจเจพ เจฌเจฃเจพเจ);
- เจ เจธเฉเจ เจฆเฉเจเจฆเฉ เจนเจพเจ;
- เจ เจธเฉเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฐเจฆเฉ เจนเจพเจ - เจเฉ เจธเจพเจฐเฉเจเจ เจฒเฉเฉเจพเจ เจชเฉเจฐเฉเจเจ เจนเฉเฉฐเจฆเฉเจเจ เจนเจจ?
- เจ เจธเฉเจ เจเจธเจจเฉเฉฐ เจตเจฟเจเจฟเจเจจเจ เจคเฉเจฐ 'เจคเฉ เจธเจฅเจพเจชเจค เจเจฐเจฆเฉ เจนเจพเจ, เจเฉฑเจ เจชเจฐเจฟเจเจฒเจชเจจเจพ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ;
- เจ เจธเฉเจ เจเจธ เจงเจพเจฐเจจเจพ เจจเฉเฉฐ เจชเจฐเจเจฃ เจฒเจ เจเฉฑเจ เจชเฉเจฐเจฏเฉเจ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจธเจงเจพเจฐเจจ HTTP เจธเจฐเจตเจฐ เจเจฐเจเฉเจเฉเจเจเจฐ
เจเจธ เจฒเฉเจ เจฒเจ เจ
เจธเฉเจ เจเฉเจฒเฉฐเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉเจเฉ HTTP เจธเจฐเจตเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉ. เจเจธ เจฒเฉเจ เจคเฉเจ เจธเจพเจฐเฉ เจเฉเจก เจฒเฉฑเจญเฉ เจเจพ เจธเจเจฆเฉ เจนเจจ
เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเฉฑเจ HTTP เจธเจฐเจตเจฐ เจนเฉ เจเฉ เจนเจฐเฉเจ เจฌเฉเจจเจคเฉ เจฒเจ Postgresql เจจเฉเฉฐ เจชเฉเจฒ เจเจฐเจฆเจพ เจนเฉเฅค เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเจชเจฒเฉเจเฉเจธเจผเจจ เจ เจคเฉ เจธเจฟเจธเจเจฎ เจฎเฉเจเฉเจฐเจฟเจเจธ เจจเฉเฉฐ เจเจเฉฑเจคเจฐ เจเจฐเจจ เจ เจคเฉ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเจจ เจฒเจ เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธ, เจจเฉเจก_เจเจเจธเจชเฉเจฐเจเจฐ เจ เจคเฉ เจเฉเจฐเจพเจซเจพเจจเจพ เจนเฉเฅค
เจธเจฐเจฒ เจฌเจฃเจพเจเจฃ เจฒเจ, เจ เจธเฉเจ เจฎเฉฐเจจเจฆเฉ เจนเจพเจ เจเจฟ เจนเจฐเฉเจเฉฑเจเจฒ เจธเจเฉเจฒเจฟเฉฐเจ (เจ เจคเฉ เจเจฃเจจเจพเจตเจพเจ เจจเฉเฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจเจฃ) เจฒเจ เจนเจฐเฉเจ เจธเฉเจตเจพ เจ เจคเฉ เจกเฉเจเจพเจฌเฉเจธ เจจเฉเฉฐ เจเจเฉฑเจ เฉ เจคเฉเจจเจพเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉ:
เจเฉเจเจฟเจเจ เจฆเฉ เจชเจฐเจฟเจญเจพเจธเจผเจพ
เจเจธ เจชเฉเจพเจ 'เจคเฉ, เจ เจธเฉเจ เจเฉเจเจพ เจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจเฅค เจ เจธเฉเจ เจเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐ เจฐเจนเฉ เจนเจพเจ? เจ เจธเฉเจ เจเจฟเจตเฉเจ เจเจพเจฃเจฆเฉ เจนเจพเจ เจเจฟ เจเจน เจเจฆเฉเจ เจเจคเจฎ เจนเฉเจฃ เจฆเจพ เจธเจฎเจพเจ เจนเฉ? เจเจธ เจฒเฉเจ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจเจฒเจชเจจเจพ เจเจฐเจพเจเจเฉ เจเจฟ เจธเจพเจกเฉ เจเฉเจฒ เจเจพเจนเจ เจนเจจ เจ เจคเฉ เจธเจพเจกเฉ เจธเฉเจตเจพ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 10 เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเฉเจเฉเฅค
ะ
- เจฒเฉเจเฉเจเจธเฉ: 99% เจฌเฉเจจเจคเฉเจเจ 60ms เจคเฉเจ เจเฉฑเจ เจธเจฎเฉเจ เจตเจฟเฉฑเจ เจชเฉเจฐเฉเจเจ เจนเฉเจฃเฉเจเจ เจเจพเจนเฉเจฆเฉเจเจ เจนเจจ;
- เจฒเจพเจเจค: เจธเฉเจตเจพ เจจเฉเฉฐ เจเฉฑเจเฉ-เจเฉฑเจ เจชเฉเจธเฉ เจฆเฉ เจเจชเจค เจเจฐเจจเฉ เจเจพเจนเฉเจฆเฉ เจนเฉ เจเฉ เจ เจธเฉเจ เจธเฉเจเจฆเฉ เจนเจพเจ เจเจฟ เจเจน เจฎเฉเจจเจพเจธเจฌ เจคเฉเจฐ 'เจคเฉ เจธเฉฐเจญเจต เจนเฉเฅค เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจ เจธเฉเจ เจฅเฉเจฐเฉเจชเฉเฉฑเจ เจจเฉเฉฐ เจตเฉฑเจง เจคเฉเจ เจตเฉฑเจง เจเจฐเจฆเฉ เจนเจพเจ;
- เจธเจฎเจฐเฉฑเจฅเจพ เจฆเฉ เจฏเฉเจเจจเจพเจฌเฉฐเจฆเฉ: เจธเจฎเฉเฉฑเจเฉ เจธเจเฉเจฒเจฟเฉฐเจ เจเจพเจฐเจเจเฉเจธเจผเจฒเจคเจพ เจธเจฎเฉเจค, เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉเจเจ เจเจฟเฉฐเจจเฉเจเจ เจเจฆเจพเจนเจฐเจฃเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเจเจเฉ, เจ
เจคเฉ เจธเจผเฉเจฐเฉเจเจคเฉ เจฒเฉเจก เจ
เจคเฉ เจตเจฟเจตเจธเจฅเจพ เจฆเฉเจเจ เจเจผเจฐเฉเจฐเจคเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเจจ เจฒเจ เจเจฟเฉฐเจจเฉเจเจ เจเจฆเจพเจนเจฐเจฃเจพเจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเจเจเฉ, เจเจธ เจจเฉเฉฐ เจธเจฎเจเจฃ เจ
เจคเฉ เจฆเจธเจคเจพเจตเฉเจเจผ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ
เจฐเจฟเจกเฉฐเจกเฉเจเจธเฉ n+1 .
เจฒเฉเจเฉเจเจธเฉ เจฒเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฆเฉ เจจเจพเจฒ-เจจเจพเจฒ เจ เจจเฉเจเฉเจฒเจคเจพ เจฆเฉ เจฒเฉเฉ เจนเฉ เจธเจเจฆเฉ เจนเฉ, เจชเจฐ เจฅเฉเจฐเฉเจชเฉเฉฑเจ เจฆเจพ เจธเจชเจธเจผเจ เจคเฉเจฐ 'เจคเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค SRE SLO เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจฆเฉเจฐเฉ เจฆเฉ เจฌเฉเจจเจคเฉ เจเจพเจนเจ เจเจพเจ เจเจพเจฐเฉเจฌเจพเจฐ เจคเฉเจ เจเจเจเจฆเฉ เจนเฉ, เจเฉ เจเจคเจชเจพเจฆ เจฆเฉ เจฎเจพเจฒเจ เจฆเฉเจเจฐเจพ เจฆเจฐเจธเจพเจ เจเจพเจเจฆเฉ เจนเฉเฅค เจ เจคเฉ เจธเจพเจกเฉ เจธเฉเจตเจพ เจฌเจฟเจจเจพเจ เจเจฟเจธเฉ เจธเฉเจเจฟเฉฐเจ เจฆเฉ เจธเจผเฉเจฐเฉ เจคเฉเจ เจนเฉ เจเจธ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐเฉ เจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเฉเจเฉ!
เจเฉฑเจ เจเฉเจธเจ เจตเจพเจคเจพเจตเจฐเจฃ เจธเจฅเจพเจชเจค เจเจฐเจจเจพ
เจเฉฑเจ เจเฉเจธเจ เจตเจพเจคเจพเจตเจฐเจจ เจฆเฉ เจฎเจฆเจฆ เจจเจพเจฒ, เจ เจธเฉเจ เจเจชเจฃเฉ เจธเจฟเจธเจเจฎ 'เจคเฉ เจเฉฑเจ เจฎเจพเจชเจฟเจ เจฒเฉเจก เจฐเฉฑเจเจฃ เจฆเฉ เจฏเฉเจ เจนเฉเจตเจพเจเจเฉเฅค เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฒเจ, เจตเฉเฉฑเจฌ เจธเฉเจตเจพ เจฆเฉ เจชเฉเจฐเจฆเจฐเจธเจผเจจ 'เจคเฉ เจกเฉเจเจพ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจพเจตเฉเจเจพเฅค
เจฒเฉเจฃ-เจฆเฉเจฃ เจฆเจพ เจฒเฉเจก
เจเจน เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฐเจคเจฆเจพ เจนเฉ
$ make load-test LOAD_TEST_RATE=50
echo "POST http://localhost:8080" | vegeta attack -body tests/fixtures/age_no_match.json -rate=50 -duration=0 | tee results.bin | vegeta report
เจจเจฟเจฐเฉเจเจฃ
เจฐเจจเจเจพเจเจฎ 'เจคเฉ เจเฉเจฐเจพเจเจเฉเจเจธเจผเจจเจฒ เจฒเฉเจก เจฒเจพเจเฉ เจเฉเจคเจพ เจเจพเจตเฉเจเจพเฅค เจเจชเจฒเฉเจเฉเจธเจผเจจ (เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจธเฉฐเจเจฟเจ, เจเจตเจพเจฌ เจฒเฉเจเฉเจเจธเฉ) เจ เจคเฉ เจเจชเจฐเฉเจเจฟเฉฐเจ เจธเจฟเจธเจเจฎ (เจฎเฉเจฎเฉเจฐเฉ, CPU, IOPS) เจฎเฉเจเฉเจฐเจฟเจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเจชเจฒเฉเจเฉเจธเจผเจจ เจชเฉเจฐเฉเจซเจพเจเจฒเจฟเฉฐเจ เจจเฉเฉฐ เจเจน เจธเจฎเจเจฃ เจฒเจ เจเจฒเจพเจเจ เจเจพเจตเฉเจเจพ เจเจฟ เจเจธ เจตเจฟเฉฑเจ เจเจฟเฉฑเจฅเฉ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจนเจจ เจ เจคเฉ CPU เจธเจฎเจพเจ เจเจฟเจตเฉเจ เจตเจฐเจคเจฟเจ เจเจพ เจฐเจฟเจนเจพ เจนเฉเฅค
เจชเจฐเฉเจซเจพเจเจฒเจฟเฉฐเจ
เจชเฉเจฐเฉเจซเจพเจเจฒเจฟเฉฐเจ เจฎเจพเจช เจฆเฉ เจเฉฑเจ เจเจฟเจธเจฎ เจนเฉ เจเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจน เจฆเฉเจเจฃ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเฉ เจนเฉ เจเจฟ เจเจฆเฉเจ เจเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเฉฑเจฒ เจฐเจนเฉ เจนเฉ เจคเจพเจ CPU เจธเจฎเจพเจ เจเจฟเฉฑเจฅเฉ เจเจพ เจฐเจฟเจนเจพ เจนเฉเฅค เจเจน เจคเฉเจนเจพเจจเฉเฉฐ เจเจน เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ เจเจฟ เจชเฉเจฐเฉเจธเฉเจธเจฐ เจฆเจพ เจธเจฎเจพเจ เจเจฟเฉฑเจฅเฉ เจ เจคเฉ เจเจฟเฉฐเจจเจพ เจเจฐเจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ:
เจเจธ เจกเฉเจเจพ เจฆเฉ เจตเจฐเจคเฉเจ เจตเจฟเจ เจฐเจฅ CPU เจธเจฎเฉเจ เจ เจคเฉ เจเฉเจคเฉ เจเจพ เจฐเจนเฉ เจฌเฉเจฒเฉเฉเฉ เจเฉฐเจฎ เจฆเฉ เจธเจฎเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฆเฉเจฐเจพเจจ เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเฉเฅค Go (pprof) เจชเจฐเฉเจซเจพเจเจฒ เจคเจฟเจเจฐ เจเจฐ เจธเจเจฆเจพ เจนเฉ เจ เจคเฉ เจเฉเจฒเจธ เจฆเฉ เจเฉฑเจ เจฎเจฟเจเจฐเฉ เจธเฉเฉฑเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจซเจฒเฉเจฎ เจเฉเจฐเจพเจซ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจเจฒเจชเจจเจพ เจเจฐ เจธเจเจฆเจพ เจนเฉเฅค เจฎเฉเจ เจฒเฉเจ เจตเจฟเฉฑเจ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจเจนเจจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจ เจคเฉ เจธเฉเฉฑเจเจ เฉฑเจช เจเจพเจเจก เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจพเจเจเจพเฅค
เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ, เจจเจฟเจฐเฉเจเจฃ, เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ.
เจเจ เจเฉฑเจ เจชเฉเจฐเจฏเฉเจ เจเจฐเฉเจเฅค เจ
เจธเฉเจ เจชเฉเจฐเจฆเจฐเจธเจผเจจ, เจจเจฟเจฐเฉเจเจฃ เจ
เจคเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฆเฉเจ เจคเฉฑเจ เจเจฐเจพเจเจเฉ เจเจฆเฉเจ เจคเฉฑเจ เจ
เจธเฉเจ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจคเฉเจ เจธเฉฐเจคเฉเจธเจผเจ เจจเจนเฉเจ เจนเฉ เจเจพเจเจฆเฉเฅค เจเจ เจ
เจธเฉเจ เจชเจนเจฟเจฒเฉ เจจเจฟเจฐเฉเจเจฃเจพเจ เจฆเฉ เจจเจคเฉเจเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจเจธเจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจฎเจจเจฎเจฐเจเจผเฉ เจจเจพเจฒ เจเฉฑเจ เจฒเฉเจก เจฎเฉเฉฑเจฒ เจฆเฉ เจเฉเจฃ เจเจฐเฉเจเฅค เจนเจฐ เจ
เจเจฒเฉ เจชเฉเจพเจ
'เจคเฉ เจ
เจธเฉเจ เจเฉเจ เจชเจฐเจฟเจตเจฐเจคเจจ เจฆเฉ เจจเจพเจฒ เจเฉเจฃเฉ เจนเฉเจ เจเฉฑเจ เจเจพเจธ เจธเจเฉเจฒเจฟเฉฐเจ เจซเฉเจเจเจฐ เจจเจพเจฒ เจฒเฉเจก เจจเฉเฉฐ เจตเจงเจพเจตเจพเจเจเฉเฅค เจนเจฐเฉเจ เจฒเฉเจก เจเฉเจธเจเจฟเฉฐเจ เจฐเจจ เจเจกเจเจธเจ เจเฉเจคเฉเจเจ เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจธเฉฐเจเจฟเจ เจจเจพเจฒ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ: make load-test LOAD_TEST_RATE=X
.
เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 50 เจฌเฉเจจเจคเฉเจเจ
เจเฉเจเฉ เจฆเฉ เจฆเฉ เจเฉเจฐเจพเจซเจพเจ เจตเฉฑเจฒ เจงเจฟเจเจจ เจฆเจฟเจเฅค เจเฉฑเจชเจฐเฉ เจเฉฑเจฌเจพ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจธเจพเจกเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 50 เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจฆเฉ เจนเฉ (เจเจน เจธเฉเจเจฆเจพ เจนเฉ) เจ เจคเฉ เจเฉฑเจชเจฐ เจธเฉฑเจเฉ เจชเจพเจธเฉ เจนเจฐเฉเจ เจฌเฉเจจเจคเฉ เจฆเฉ เจฎเจฟเจเจฆ เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉเฅค เจฆเฉเจตเฉเจ เจฎเจพเจชเจฆเฉฐเจก เจเจน เจฆเฉเจเจฃ เจ เจคเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฐเจจ เจตเจฟเฉฑเจ เจธเจพเจกเฉ เจฎเจฆเจฆ เจเจฐเจฆเฉ เจนเจจ เจเจฟ เจเฉ เจ เจธเฉเจ เจเจชเจฃเฉเจเจ เจเจพเจฐเจเฉเจเจผเจพเจฐเฉ เจฆเฉเจเจ เจธเฉเจฎเจพเจตเจพเจ เจฆเฉ เจ เฉฐเจฆเจฐ เจนเจพเจ เจเจพเจ เจจเจนเฉเจเฅค เจเฉเจฐเจพเจซ 'เจคเฉ เจฒเจพเจฒ เจฒเจพเจเจจ HTTP เจฌเฉเจจเจคเฉ เจฒเฉเจเฉเจเจธเฉ 60ms 'เจคเฉ SLO เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉเฅค เจฒเจพเจเจจ เจฆเจฐเจธเจพเจเจเจฆเฉ เจนเฉ เจเจฟ เจ เจธเฉเจ เจเจชเจฃเฉ เจตเฉฑเจง เจคเฉเจ เจตเฉฑเจง เจเจตเจพเจฌ เจธเจฎเฉเจ เจคเฉเจ เจนเฉเจ เจพเจ เจนเจพเจเฅค
เจเจ เจฒเจพเจเจค เจชเฉฑเจ เจจเฉเฉฐ เจตเฉเจเฉเจ:
10000 เจฌเฉเจจเจคเฉเจเจ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ / 50 เจฌเฉเจจเจคเฉเจเจ เจชเฉเจฐเจคเฉ เจธเจฐเจตเจฐ = 200 เจธเจฐเจตเจฐ + 1
เจ เจธเฉเจ เจ เจเฉ เจตเฉ เจเจธ เจ เฉฐเจเฉเฉ เจจเฉเฉฐ เจธเฉเจงเจพเจฐ เจธเจเจฆเฉ เจนเจพเจเฅค
เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 500 เจฌเฉเจจเจคเฉเจเจ
เจนเฉเจฐ เจฆเจฟเจฒเจเจธเจช เจเฉเจเจผเจพเจ เจนเฉเจฃเฉเจเจ เจธเจผเฉเจฐเฉ เจนเฉเฉฐเจฆเฉเจเจ เจนเจจ เจเจฆเฉเจ เจฒเฉเจก เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 500 เจฌเฉเจจเจคเฉเจเจ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจเจพเจเจฆเจพ เจนเฉ:
เจฆเฉเจฌเจพเจฐเจพ, เจเฉฑเจชเจฐเจฒเฉ เจเฉฑเจฌเฉ เจเฉเจฐเจพเจซ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ เจเจฟ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจฎ เจฒเฉเจก เจจเฉเฉฐ เจฐเจฟเจเจพเจฐเจก เจเจฐ เจฐเจนเฉ เจนเฉเฅค เจเฉเจเจฐ เจ เจเจฟเจนเจพ เจจเจนเฉเจ เจนเฉ, เจคเจพเจ เจธเจฐเจตเจฐ 'เจคเฉ เจธเจฎเฉฑเจธเจฟเจ เจนเฉ เจเจฟเจธ 'เจคเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเฉฑเจฒ เจฐเจนเฉ เจนเฉเฅค เจเจตเจพเจฌ เจฒเฉเจเฉเจเจธเฉ เจเฉเจฐเจพเจซ เจเฉฑเจชเจฐ เจธเฉฑเจเฉ เจชเจพเจธเฉ เจธเจฅเจฟเจค เจนเฉ, เจเจน เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 500 เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจจเจคเฉเจเฉ เจตเจเฉเจ 25-40ms เจฆเฉ เจฆเฉเจฐเฉ เจนเฉเจ เจนเฉเฅค 99เจตเจพเจ เจชเฉเจฐเจคเฉเจธเจผเจค เจ เจเฉ เจตเฉ เจเฉฑเจชเจฐ เจเฉเจฃเฉ เจเจ 60ms SLO เจตเจฟเฉฑเจ เจเฉฐเจเฉ เจคเจฐเฉเจนเจพเจ เจซเจฟเฉฑเจ เจฌเฉเจ เจฆเจพ เจนเฉเฅค
เจฒเจพเจเจค เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ:
10000 เจฌเฉเจจเจคเฉเจเจ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ / 500 เจฌเฉเจจเจคเฉเจเจ เจชเฉเจฐเจคเฉ เจธเจฐเจตเจฐ = 20 เจธเจฐเจตเจฐ + 1
เจธเจญ เจเฉเจ เจ เจเฉ เจตเฉ เจธเฉเจงเจพเจฐเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 1000 เจฌเฉเจจเจคเฉเจเจ
เจธเจผเจพเจจเจฆเจพเจฐ เจฒเจพเจเจ! เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเจฐเจธเจพเจเจเจฆเฉ เจนเฉ เจเจฟ เจเจธเจจเฉ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 1000 เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเฉเจคเฉ, เจชเจฐ SLO เจฆเฉเจเจฐเจพ เจฒเฉเจเฉเจเจธเฉ เจธเฉเจฎเจพ เจฆเฉ เจเจฒเฉฐเจเจฃเจพ เจเฉเจคเฉ เจเจ เจธเฉเฅค เจเจน เจเฉฑเจชเจฐเจฒเฉ เจธเฉฑเจเฉ เจเฉเจฐเจพเจซ เจตเจฟเฉฑเจ เจฒเจพเจเจจ p99 เจตเจฟเฉฑเจ เจฆเฉเจเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจเจธ เจคเฉฑเจฅ เจฆเฉ เจฌเจพเจตเจเฉเจฆ เจเจฟ p100 เจฒเจพเจเจจ เจฌเจนเฉเจค เจเจผเจฟเจเจฆเจพ เจนเฉ, เจ เจธเจฒ เจฆเฉเจฐเฉ เจตเฉฑเจง เจคเฉเจ เจตเฉฑเจง 60ms เจคเฉเจ เจตเฉฑเจง เจนเฉเฅค เจเจ เจเจน เจชเจคเจพ เจเจฐเจจ เจฒเจ เจชเฉเจฐเฉเจซเจพเจเจฒเจฟเฉฐเจ เจตเจฟเฉฑเจ เจกเฉเจฌเจเฉ เจเจฐเฉเจ เจเจฟ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจ เจธเจฒ เจตเจฟเฉฑเจ เจเฉ เจเจฐเจฆเฉ เจนเฉเฅค
เจชเจฐเฉเจซเจพเจเจฒเจฟเฉฐเจ
เจชเฉเจฐเฉเจซเจพเจเจฒเจฟเฉฐเจ เจฒเจ, เจ
เจธเฉเจ เจฒเฉเจก เจจเฉเฉฐ 1000 เจฌเฉเจจเจคเฉเจเจ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 'เจคเฉ เจธเฉเฉฑเจ เจเจฐเจฆเฉ เจนเจพเจ, เจซเจฟเจฐ เจตเจฐเจคเฉเจ pprof
เจเจน เจชเจคเจพ เจฒเจเจพเจเจฃ เจฒเจ เจกเฉเจเจพ เจเฉเจชเจเจฐ เจเจฐเจจ เจฒเจ เจเจฟ เจเจชเจฒเฉเจเฉเจธเจผเจจ CPU เจธเจฎเจพเจ เจเจฟเฉฑเจฅเฉ เจเจฐเจ เจเจฐ เจฐเจนเฉ เจนเฉเฅค เจเจน HTTP เจ
เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ เจจเฉเฉฐ เจธเจฐเจเจฐเจฎ เจเจฐเจเฉ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ pprof
, เจ
เจคเฉ เจซเจฟเจฐ, เจฒเฉเจก เจฆเฉ เจ
เจงเฉเจจ, เจเจฐเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจจเจคเฉเจเจฟเจเจ เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจเจฐเฉ:
$ curl http://localhost:8080/debug/pprof/profile?seconds=29 > cpu.1000_reqs_sec_no_optimizations.prof
เจจเจคเฉเจเฉ เจเจธ เจคเจฐเฉเจนเจพเจ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเจจ:
$ go tool pprof -http=:12345 cpu.1000_reqs_sec_no_optimizations.prof
เจเฉเจฐเจพเจซ เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจฟเฉฑเจฅเฉ เจ
เจคเฉ เจเจฟเฉฐเจจเจพ CPU เจธเจฎเจพเจ เจฌเจฟเจคเจพเจเจเจฆเฉ เจนเฉเฅค เจคเฉเจ เจตเจฐเจฃเจจ เจคเฉเจ
X เจงเฉเจฐเจพ เจธเจเฉเจ เจชเฉเจฐเฉเจซเจพเจเจฒ เจฆเฉ เจเจฌเจพเจฆเฉ เจนเฉ, เจตเจฐเจฃเจฎเจพเจฒเจพ เจ เจจเฉเจธเจพเจฐ เจเฉเจฐเจฎเจฌเฉฑเจง (เจเจน เจธเจฎเจพเจ เจจเจนเฉเจ เจนเฉ), Y เจงเฉเจฐเจพ เจธเจเฉเจ เจฆเฉ เจกเฉเฉฐเจเจพเจ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ, [เจเฉเจช] 'เจคเฉ เจเจผเฉเจฐเฉ เจคเฉเจ เจเจฟเจฃเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจนเจฐ เจเจเจคเจเจพเจฐ เจเฉฑเจ เจธเจเฉเจ เจซเจฐเฉเจฎ เจนเฉเฅค เจซเจฐเฉเจฎ เจเจฟเฉฐเจจเจพ เจเฉเฉเจพ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจเจจเจพ เจนเฉ เจ เจเจธเจฐ เจเจน เจธเจเฉเจ เจตเจฟเฉฑเจ เจฎเฉเจเฉเจฆ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจธเจฟเจเจฐ 'เจคเฉ เจเฉ เจนเฉ CPU 'เจคเฉ เจเฉฑเจฒเจฆเจพ เจนเฉ, เจ เจคเฉ เจนเฉเจ เจพเจ เจเฉ เจนเฉ เจเจน เจเจพเจเจฒเจก เจเจฒเฉเจฎเฉเจเจเจธ เจนเจจเฅค เจฐเฉฐเจเจพเจ เจฆเจพ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเฉเจ เจฎเจคเจฒเจฌ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ, เจชเจฐ เจซเจฐเฉเจฎเจพเจ เจจเฉเฉฐ เจตเฉฑเจเจฐเจพ เจเจฐเจจ เจฒเจ เจฌเฉเจคเจฐเจคเฉเจฌ เจขเฉฐเจ เจจเจพเจฒ เจเฉเจฃเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค
เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ - เจ เจจเฉเจฎเจพเจจ
เจเจฟเจเจจเจฟเฉฐเจ เจฒเจ, เจ เจธเฉเจ เจตเจฟเจ เจฐเจฅ CPU เจธเจฎเจพเจ เจฒเฉฑเจญเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจจ 'เจคเฉ เจงเจฟเจเจจ เจเฉเจเจฆเจฐเจฟเจค เจเจฐเจพเจเจเฉเฅค เจ เจธเฉเจ เจฌเฉเจเจพเจฐ เจเจฐเจเจฟเจเจ เจฆเฉ เจธเจญ เจคเฉเจ เจตเฉฑเจกเฉ เจธเจฐเฉเจคเจพเจ เจฆเฉ เจเฉเจ เจเจฐเจพเจเจเฉ เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจนเจเจพเจตเจพเจเจเฉเฅค เจเฉเจฐ, เจเจน เจฆเจฟเฉฑเจคเฉ เจนเฉเจ เจเจฟ เจชเฉเจฐเฉเจซเจพเจเจฒเจฟเฉฐเจ เจฌเจนเฉเจค เจธเจนเฉ เจขเฉฐเจ เจจเจพเจฒ เจฆเฉฑเจธเจฆเฉ เจนเฉ เจเจฟ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจชเจฃเจพ เจชเฉเจฐเฉเจธเฉเจธเจฐ เจธเจฎเจพเจ เจเจฟเฉฑเจฅเฉ เจเจฐเจ เจเจฐ เจฐเจนเฉ เจนเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจน เจเจ เจตเจพเจฐ เจเจฐเจจเจพ เจชเฉ เจธเจเจฆเจพ เจนเฉ, เจ เจคเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจธเจฐเฉเจค เจเฉเจก เจจเฉเฉฐ เจฌเจฆเจฒเจฃ, เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจฆเฉเจฌเจพเจฐเจพ เจเจฒเจพเจเจฃ เจ เจคเฉ เจเจน เจตเฉเจเจฃเจพ เจนเฉเจตเฉเจเจพ เจเจฟ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจเฉเจเฉ เจคเฉฑเจ เจชเจนเฉเฉฐเจเจฆเจพ เจนเฉเฅค
เจฌเฉเจฐเฉเจเจกเจจ เจเฉเจฐเฉเจ เจฆเฉเจเจ เจธเจฟเจซเจผเจพเจฐเจธเจผเจพเจ เจฆเฉ เจชเจพเจฒเจฃเจพ เจเจฐเจฆเฉ เจนเฉเจ, เจ เจธเฉเจ เจเจพเจฐเจ เจจเฉเฉฐ เจเฉฑเจชเจฐ เจคเฉเจ เจนเฉเจ เจพเจ เจคเฉฑเจ เจชเฉเฉเจนเจพเจเจเฉเฅค เจนเจฐ เจฒเจพเจเจจ เจเฉฑเจ เจธเจเฉเจ เจซเจฐเฉเจฎ (เจซเฉฐเจเจธเจผเจจ เจเจพเจฒ) เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเจฆเฉ เจนเฉเฅค เจชเจนเจฟเจฒเฉ เจฒเจพเจเจจ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจตเจฟเฉฑเจ เจชเฉเจฐเจตเฉเจธเจผ เจฌเจฟเฉฐเจฆเฉ เจนเฉ, เจนเฉเจฐ เจธเจพเจฐเฉเจเจ เจเจพเจฒเจพเจ เจฆเจพ เจฎเฉเจฒ (เจฆเฉเจเฉ เจธเจผเจฌเจฆเจพเจ เจตเจฟเฉฑเจ, เจนเฉเจฐ เจธเจพเจฐเฉเจเจ เจเจพเจฒเจพเจ เจฆเฉ เจธเจเฉเจ เจตเจฟเฉฑเจ เจเจน เจนเฉเจตเฉเจเจพ)เฅค เจ เจเจฒเฉ เจฒเจพเจเจจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจตเฉฑเจเจฐเฉ เจนเฉ:
เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเฉเจฐเจพเจซ 'เจคเฉ เจเจฟเจธเฉ เจซเฉฐเจเจธเจผเจจ เจฆเฉ เจจเจพเจฎ 'เจคเฉ เจเจฐเจธเจฐ เจจเฉเฉฐ เจนเฉเจตเจฐ เจเจฐเจฆเฉ เจนเฉ, เจคเจพเจ เจกเฉเจฌเฉฑเจเจฟเฉฐเจ เจฆเฉเจฐเจพเจจ เจธเจเฉเจ 'เจคเฉ เจฐเจนเจฟเจฃ เจฆเจพ เจเฉเฉฑเจฒ เจธเจฎเจพเจ เจฆเจฟเจเจพเจเจ เจเจพเจตเฉเจเจพเฅค HTTPServe เจซเฉฐเจเจธเจผเจจ เจเฉฑเจฅเฉ 65% เจธเจฎเจพเจ เจธเฉ, เจนเฉเจฐ เจฐเจจเจเจพเจเจฎ เจซเฉฐเจเจธเจผเจจ runtime.mcall
, mstart
ะธ gc
, เจฌเจพเจเฉ เจธเจฎเจพเจ เจฒเจฟเจเฅค เจฎเจเจผเฉเจฆเจพเจฐ เจคเฉฑเจฅ: เจเฉเฉฑเจฒ เจธเจฎเฉเจ เจฆเจพ 5% DNS เจธเจตเจพเจฒเจพเจ 'เจคเฉ เจเจฐเจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ:
เจชเจคเฉ เจเฉ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจฒเฉฑเจญเจฆเจพ เจนเฉ Postgresql เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉเฅค 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ FindByAge
:
เจฆเจฟเจฒเจเจธเจช เจเฉฑเจฒ เจเจน เจนเฉ เจเจฟ, เจชเฉเจฐเฉเจเจฐเจพเจฎ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ เจเจฟ, เจธเจฟเจงเจพเจเจค เจตเจฟเฉฑเจ, เจคเจฟเฉฐเจจ เจฎเฉเฉฑเจ เจธเจฐเฉเจค เจนเจจ เจเฉ เจฆเฉเจฐเฉ เจเฉเฉเจฆเฉ เจนเจจ: เจเจจเฉเจเจธเจผเจจ เจเฉเจฒเฉเจนเจฃเจพ เจ เจคเฉ เจฌเฉฐเจฆ เจเจฐเจจเจพ, เจกเฉเจเจพ เจฆเฉ เจฌเฉเจจเจคเฉ เจเจฐเจจเจพ, เจ เจคเฉ เจกเฉเจเจพเจฌเฉเจธ เจจเจพเจฒ เจเฉเฉเจจเจพเฅค เจเฉเจฐเจพเจซ เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ เจเจฟ DNS เจฌเฉเจจเจคเฉเจเจ, เจเฉเฉฑเจฒเจฃ เจ เจคเฉ เจฌเฉฐเจฆ เจเจฐเจจ เจตเจพเจฒเฉ เจเฉเจจเฉเจเจธเจผเจจ เจเฉเฉฑเจฒ เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ เจธเจฎเฉเจ เจฆเจพ เจฒเจเจญเจ 13% เจฒเฉเจเจฆเฉ เจนเจจเฅค
เจเจฒเจชเจจเจพ: เจชเฉเจฒเจฟเฉฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเจจเฉเจเจธเจผเจจเจพเจ เจฆเฉ เจฎเฉเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจจเจพเจฒ เจเฉฑเจ เจธเจฟเฉฐเจเจฒ HTTP เจฌเฉเจจเจคเฉ เจฆเฉ เจธเจฎเฉเจ เจจเฉเฉฐ เจเจเจพเจเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ, เจเฉฑเจ เจฅเฉเจฐเจฐเฉเจชเฉเจ เจ เจคเฉ เจเฉฑเจ เจฒเฉเจเฉเจเจธเฉ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ.
เจเจชเจฒเฉเจเฉเจธเจผเจจ เจธเฉเจ เจ เจช เจเจฐเจจเจพ - เจชเฉเจฐเจฏเฉเจ
เจ
เจธเฉเจ เจธเจฐเฉเจค เจเฉเจก เจจเฉเฉฐ เจ
เจชเจกเฉเจ เจเจฐเจฆเฉ เจนเจพเจ, เจนเจฐเฉเจ เจฌเฉเจจเจคเฉ เจฒเจ Postgresql เจจเจพเจฒ เจเจจเฉเจเจธเจผเจจ เจจเฉเฉฐ เจนเจเจพเจเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเฅค เจชเจนเจฟเจฒเจพ เจตเจฟเจเจฒเจช เจตเจฐเจคเจฃเจพ เจนเฉ
db, err := sql.Open("postgres", dbConnectionString)
db.SetMaxOpenConns(8)
if err != nil {
return nil, err
}
เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ, เจจเจฟเจฐเฉเจเจฃ, เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ
เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 1000 เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจจเจพเจฒ เจเฉเจธเจ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจเจน เจธเจชเฉฑเจธเจผเจ เจนเฉ เจเจฟ p99 เจฆเฉ เจฒเฉเจเฉเจเจธเฉ เจชเฉฑเจงเจฐ 60ms เจฆเฉ SLO เจจเจพเจฒ เจเจฎ เจตเจพเจเจ เจตเจพเจชเจธ เจ เจเจ เจนเจจ!
เจฒเจพเจเจค เจเฉ เจนเฉ?
10000 เจฌเฉเจจเจคเฉเจเจ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ / 1000 เจฌเฉเจจเจคเฉเจเจ เจชเฉเจฐเจคเฉ เจธเจฐเจตเจฐ = 10 เจธเจฐเจตเจฐ + 1
เจเจฒเฉ เจเจธเจจเฉเฉฐ เจนเฉเจฐ เจตเฉ เจตเจงเฉเจ เจเจฐเฉเจ!
เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 2000 เจฌเฉเจจเจคเฉเจเจ
เจฒเฉเจก เจจเฉเฉฐ เจฆเฉเฉฑเจเจฃเจพ เจเจฐเจจเจพ เจเฉฑเจเฉ เจเฉเจเจผ เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ, เจเฉฑเจชเจฐ เจเฉฑเจฌเฉ เจเฉเจฐเจพเจซ เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 2000 เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจจ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจง เจเจฐเจฆเฉ เจนเฉ, p100 60ms เจคเฉเจ เจเฉฑเจ เจนเฉ, p99 SLO เจจเฉเฉฐ เจธเฉฐเจคเฉเจธเจผเจ เจเจฐเจฆเจพ เจนเฉเฅค
เจฒเจพเจเจค เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ:
10000 เจฌเฉเจจเจคเฉเจเจ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ / 2000 เจฌเฉเจจเจคเฉเจเจ เจชเฉเจฐเจคเฉ เจธเจฐเจตเจฐ = 5 เจธเจฐเจตเจฐ + 1
เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 3000 เจฌเฉเจจเจคเฉเจเจ
เจเฉฑเจฅเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ 3000ms เจคเฉเจ เจเฉฑเจ เจฆเฉ p99 เจฒเฉเจเฉเจเจธเฉ เจจเจพเจฒ 60 เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค SLO เจฆเฉ เจเจฒเฉฐเจเจฃเจพ เจจเจนเฉเจ เจเฉเจคเฉ เจเจ เจนเฉ, เจ เจคเฉ เจฒเจพเจเจค เจนเฉเจ เจฒเจฟเจเฉ เจ เจจเฉเจธเจพเจฐ เจธเจตเฉเจเจพเจฐ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ:
10000 เจฌเฉเจจเจคเฉเจเจ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ / เจชเฉเจฐเจคเฉ เจธเจฐเจตเจฐ เจชเฉเจฐเจคเฉ 3000 เจฌเฉเจจเจคเฉเจเจ = 4 เจธเจฐเจตเจฐ + 1 (เจฒเฉเจเจ เจจเฉ เจฐเจพเจเจเจกเจ เฉฑเจช เจเฉเจคเจพ เจนเฉ, เจฒเจเจญเจ เจ เจจเฉเจตเจพเจฆเจ)
เจเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฆเฉ เจเฉฑเจ เจนเฉเจฐ เจฆเฉเจฐ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเจ.
เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ - เจ เจจเฉเจฎเจพเจจ
เจ เจธเฉเจ 3000 เจฌเฉเจจเจคเฉเจเจ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 'เจคเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจกเฉเจฌเฉฑเจ เจเจฐเจจ เจฆเฉ เจจเจคเฉเจเฉ เจเจเฉฑเจ เฉ เจเจฐเจฆเฉ เจ เจคเฉ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเจฆเฉ เจนเจพเจ:
เจ เจเฉ เจตเฉ 6% เจธเจฎเจพเจ เจเฉเจจเฉเจเจธเจผเจจ เจธเจฅเจพเจชเจค เจเจฐเจจ 'เจคเฉ เจเจฐเจเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจชเฉเจฒ เจธเฉเจ เจ เจช เจเจฐเจจ เจจเจพเจฒ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจฟเฉฑเจ เจธเฉเจงเจพเจฐ เจนเฉเจเจ เจนเฉ, เจชเจฐ เจคเฉเจธเฉเจ เจ เจเฉ เจตเฉ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ เจเจฟ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจกเฉเจเจพเจฌเฉเจธ เจตเจฟเฉฑเจ เจจเจตเฉเจ เจเจจเฉเจเจธเจผเจจ เจฌเจฃเจพเจเจฃ 'เจคเฉ เจเฉฐเจฎ เจเจฐเจจเจพ เจเจพเจฐเฉ เจฐเฉฑเจเจฆเฉ เจนเฉเฅค
เจเจฒเจชเจจเจพ: เจเจจเฉเจเจธเจผเจจ, เจชเฉเจฒ เจฆเฉ เจฎเฉเจเฉเจฆเจเฉ เจฆเฉ เจฌเจพเจตเจเฉเจฆ, เจ เจเฉ เจตเฉ เจเฉฑเจกเฉ เจเจ เจนเจจ เจ เจคเฉ เจธเจพเจซเจผ เจเฉเจคเฉ เจเจ เจนเจจ, เจเจธเจฒเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเจนเจจเจพเจ เจจเฉเฉฐ เจฐเฉเจธเฉเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจชเฉเจฒ เจฆเฉ เจเจเจพเจฐ 'เจคเฉ เจฌเจเจพเจเจ เจเฉเจจเฉเจเจธเจผเจจเจพเจ เจฆเฉ เจธเฉฐเจเจฟเจ เจจเฉเฉฐ เจธเฉเฉฑเจ เจเจฐเจจ เจจเจพเจฒ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉเจเจฐเจพ เจเฉเจจเฉเจเจธเจผเจจ เจฌเจฃเจพเจเจฃ เจฆเฉ เจธเจฎเฉเจ เจจเฉเฉฐ เจเฉฑเจ เจคเฉเจ เจเฉฑเจ เจเจฐเจเฉ เจฒเฉเจเฉเจเจธเฉ เจตเจฟเฉฑเจ เจฎเจฆเจฆ เจเจฐเจจเฉ เจเจพเจนเฉเจฆเฉ เจนเฉเฅค.
เจเจชเจฒเฉเจเฉเจธเจผเจจ เจธเฉเจ เจ เจช เจเจฐเจจเจพ - เจชเฉเจฐเจฏเฉเจ
เจธเจฅเจพเจชเจค เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ
db, err := sql.Open("postgres", dbConnectionString)
db.SetMaxOpenConns(8)
db.SetMaxIdleConns(8)
if err != nil {
return nil, err
}
เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ, เจจเจฟเจฐเฉเจเจฃ, เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ
เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 3000 เจฌเฉเจจเจคเฉเจเจ
p99 เจเจพเจซเจผเฉ เจเฉฑเจ p60 เจฆเฉ เจจเจพเจฒ 100ms เจคเฉเจ เจเฉฑเจ เจนเฉ!
เจซเจฒเฉเจฎ เจเฉเจฐเจพเจซ เจฆเฉ เจเจพเจเจ เจเจฐเจจเจพ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจเฉเจจเฉเจเจธเจผเจจ เจนเฉเจฃ เจงเจฟเจเจจ เจฆเฉเจฃ เจฏเฉเจ เจจเจนเฉเจ เจนเฉ! เจฆเฉ เจนเฉเจฐ เจตเฉเจฐเจตเฉ เจตเจฟเฉฑเจ เจเฉเฉฑเจ เจเจฐเฉเจ pg(*conn).query
- เจ
เจธเฉเจ เจเฉฑเจฅเฉ เจเจจเฉเจเจธเจผเจจ เจธเจฅเจพเจชเจค เจนเฉเจฃ เจฌเจพเจฐเฉ เจตเฉ เจงเจฟเจเจจ เจจเจนเฉเจ เจฆเจฟเฉฐเจฆเฉ เจนเจพเจเฅค
เจธเจฟเฉฑเจเจพ
เจเจพเจฐเจเฉเจเจผเจพเจฐเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจน เจธเจฎเจเจฃ เจฒเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉ เจเจฟ เจเจพเจนเจ เจฆเฉเจเจ เจเจฎเฉเจฆเจพเจ เจ เจคเฉ เจเฉเจฐ-เจเจพเจฐเจเจธเจผเฉเจฒ เจฒเฉเฉเจพเจ เจชเฉเจฐเฉเจเจ เจเฉเจคเฉเจเจ เจเจพ เจฐเจนเฉเจเจ เจนเจจเฅค เจเจพเจนเจ เจฆเฉเจเจ เจเจฎเฉเจฆเจพเจ เจจเจพเจฒ เจจเจฟเจฐเฉเจเจฃเจพเจ เจฆเฉ เจคเฉเจฒเจจเจพ เจเจฐเจเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจน เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจตเจฟเฉฑเจ เจฎเจฆเจฆ เจเจฐ เจธเจเจฆเจพ เจนเฉ เจเจฟ เจเฉ เจธเจตเฉเจเจพเจฐเจฏเฉเจ เจนเฉ เจ เจคเฉ เจเฉ เจจเจนเฉเจเฅค Go เจฎเจฟเจเจฐเฉ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจตเจฟเฉฑเจ เจฌเจฃเฉ เจธเจผเจเจคเฉเจธเจผเจพเจฒเฉ เจเฉเจฒ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉ เจเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจจเฉเฉฐ เจธเจฐเจฒ เจ เจคเฉ เจชเจนเฉเฉฐเจเจฏเฉเจ เจฌเจฃเจพเจเจเจฆเฉ เจนเจจเฅค
เจธเจฐเฉเจค: www.habr.com