Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโ€™ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Performance] ๐ŸŸข TPS 31%, MTTFB[p99] 39% Improved by - Ingress Pod Scale-out GET /api-chat/rooms #341

Open
ghkdqhrbals opened this issue Dec 26, 2023 · 3 comments
Assignees
Labels
feature: performance performance improvement

Comments

@ghkdqhrbals
Copy link
Owner

ghkdqhrbals commented Dec 26, 2023

image

thread 300 ์œผ๋กœ ์š”์ฒญ ์ „์†ก ์‹œ ์œ„์™€๊ฐ™์ด ๋งŽ์€ cpu ๋กœ๋“œ๊ฐ€ ๊ฑธ๋ฆฌ๋„ค์š”. cpu limit ์„ค์ •์€ ์ ์šฉ๋˜์–ด ์žˆ์ง€ ์•Š์•„ ๋ณด์ด์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ํŒŒ๋“œ ํ•˜๋‚˜๋กœ ๋Œ๋ฆฌ๊ธฐ์—๋Š” ๋งŽ์€ ๋ถ€ํ•˜๋ฅผ ํ˜ผ์ž ๊ฐ๋‹นํ•˜๊ณ  ์žˆ๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

@ghkdqhrbals ghkdqhrbals added the theme: documentation Improvements or additions to documentation label Dec 26, 2023
@ghkdqhrbals ghkdqhrbals self-assigned this Dec 26, 2023
@ghkdqhrbals
Copy link
Owner Author

ghkdqhrbals commented Dec 26, 2023

ingress ํŒŒ๋“œ replicaSet=2 CPU ๋กœ๋“œ ๋ถ„์‚ฐ ์‹œ ๊ฐ ํŒŒ๋“œ CPU ๋ฆฌ์†Œ์Šค ์†Œ๋ชจ ๊ด€์ฐฐ

image image

AWS NLB ์—์„œ ๊ฐ pods ๋กœ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋กœ CPU Usage ๋˜ํ•œ ๋ถ„์‚ฐ๋  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค!

@ghkdqhrbals
Copy link
Owner Author

ghkdqhrbals commented Dec 26, 2023

Ingress Pod ๊ฐ€ 2๊ฐœ์ผ ๋•Œ ์„ฑ๋Šฅ์ง€ํ‘œ ์ธก์ •

  • ๐ŸŸข : ์„ฑ๋Šฅํ–ฅ์ƒ
  • ๐Ÿ”ด : ์„ฑ๋Šฅ๊ฐ์†Œ
Metric Before After Change
TPS ํ‰๊ท  319.99 422.20 31.94% ๐ŸŸข
TPS p95 376.77 497.80 32.12% ๐ŸŸข
TPS p99 415.61 532.80 28.20% ๐ŸŸข
MTTFB ํ‰๊ท  950.89 ms 709.86 ms 25.35% ๐ŸŸข
MTTFB p95 1322.11 ms 958.64 ms 27.49% ๐ŸŸข
MTTFB p99 1833.22 ms 1117.45 ms 39.04% ๐ŸŸข
MTTFB ์ฐจ์ด ํ‰๊ท  112.52 ms 58.82 ms 47.72% ๐ŸŸข
MTTFB ํ‰๊ท ์ ์ธ ๋ณ€๋™๋ฅ  10.67% 7.67% 28.12% ๐ŸŸข

์ •๋ง ํฐ ํญ์œผ๋กœ TPS ์™€ MTTFB ์ง€ํ‘œ๊ฐ€ ๋ณ€ํ•œ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CPU Usage ๋Š” ๊ฐ ์›Œ์ปค๋…ธ๋“œ๋กœ ์ž˜ ๋ถ„์‚ฐ๋œ ๊ฒƒ ๋˜ํ•œ ์ด์ „ ๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•ด ๊ด€์ฐฐํ•  ์ˆ˜ ์ž‡์—ˆ์ฃ ! ํŒŒ๋“œ๊ฐ€ 2๊ฐœ๋กœ ๋Š˜์–ด๋‚ฌ์„ ๋•Œ ์ด์ •๋„์ด๋ฉด ๋‹จ์ˆœํžˆ ์ƒ๊ฐํ–ˆ์„ ๋•Œ 3๊ฐœ์˜ Ingress Pod ๋ผ๋ฉด ์–ด๋–จ๊นŒ์š”?

Ingress Pod ๊ฐ€ 3๊ฐœ์ผ ๋•Œ ์„ฑ๋Šฅ์ง€ํ‘œ ์ธก์ •

Metric Before After Change
TPS ํ‰๊ท  422.20 462.79 9.61% ๐ŸŸข
TPS p95 497.80 556.60 11.81% ๐ŸŸข
TPS p99 532.80 588.62 10.48% ๐ŸŸข
MTTFB ํ‰๊ท  709.86 ms 651.05 ms 8.28% ๐ŸŸข
MTTFB p95 958.64 ms 1017.44 ms -6.13% ๐Ÿ”ด
MTTFB p99 1117.45 ms 1265.16 ms -13.22% ๐Ÿ”ด
MTTFB ์ฐจ์ด ํ‰๊ท  58.82 ms 88.51 ms -50.48% ๐Ÿ”ด
MTTFB ํ‰๊ท ์ ์ธ ๋ณ€๋™๋ฅ  7.67% 11.53% -50.33% ๐Ÿ”ด

TPS, MTTFB mean ๊ฐ’์ด ์†Œํญ ์ƒ์Šนํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ตœ์•…์˜ ์‹œ๋‚˜์ด๋กœ๋ฅผ ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ๋Š” p95, p99 ์ธก์ •์€ MTTFB ๊ฐ€ ์กฐ๊ธˆ ๋‚ฎ์•„์ง„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ ์ด์ƒํ•˜์ฃ ? ๋ณดํ†ต TPS ์™€ MTTFB ๋Š” ๋น„๋ก€๊ด€๊ณ„๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ ์œ„์˜ ๊ฒฐ๊ณผ๋Š” ๋ฐ˜๋Œ€์ธ ๋ถ€๋ถ„์ด ์ด์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด์œ ๊ฐ€ ๋ญ˜๊นŒ์š”? ์ฐจ๊ทผ์ฐจ๊ทผ ๋ถ„์„ํ•ด๋ณผ๊ฒŒ์š”. ๋ณธ ๋ถ„์„์€ 17:05๋ถ„, 17:45๋ถ„ ์‹œ์ž‘๋œ 10๋ถ„๋™์•ˆ์˜ ์„œ๋ฒ„ ๋กœ๋“œํ…Œ์ŠคํŠธ์˜ ๊ฐ ์ง€ํ‘œ๋ฅผ ํ™•์ธํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  1. HTTP Request Response ํ™•์ธ
image

Request ์ˆ˜์˜ ์ฐจ์ด๋Š” ์—†๊ตฐ์š”! ํ•˜์ง€๋งŒ ์‘๋‹ต์‹œ๊ฐ„์ด ๊ฐ‘์ž๊ธฐ ํ™• ์ฆ๊ฐ€ํ•œ ๋ถ€๋ถ„์ด ๋ณด์ด์ฃ ? ์ด ์‹œ์ ์—์„œ์˜ ๋‹ค๋ฅธ ์ง€ํ‘œ๋“ค์„ ๊ด€์ฐฐํ•ด๋ณผ๊ฒŒ์š”.

  1. ๋ฉ”๋ชจ๋ฆฌ GC ์— ์†Œ์š”๋œ ์‹œ๊ฐ„ ๋ฐ GC count

์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” minor GC ์˜ ๋นˆ๋„๊ฐ€ ํ™• ๋†’์•„์กŒ๊ณ  latency ๋˜ํ•œ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ majorGC ๋„ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์™œ์ด๋ ‡๊ฒŒ ์ฆ๊ฐ€ํ–ˆ์„๊นŒ์š”?

image

@ghkdqhrbals ghkdqhrbals added feature: performance performance improvement and removed theme: documentation Improvements or additions to documentation labels Dec 26, 2023
@ghkdqhrbals ghkdqhrbals changed the title [Document] ๋†’์€ Ingress Nginx Pod CPU Usage ๊ด€์ธก [Performance] TPS, MTTFB 22% Improved by - Ingress Pod Scale-out Dec 26, 2023
@ghkdqhrbals ghkdqhrbals changed the title [Performance] TPS, MTTFB 22% Improved by - Ingress Pod Scale-out [Performance] TPS 31%, MTTFB[p99] 39% Improved by - Ingress Pod Scale-out Dec 26, 2023
@ghkdqhrbals
Copy link
Owner Author

Heap GC ๋กœ ์ธํ•œ Stop The World ์ง€์—ฐ์‹œ๊ฐ„ ํ™•์ธ

minor GC ๊ฐ€ ํ…Œ์ŠคํŠธ ๋™์•ˆ 50๋ฒˆ ์ •๋„ ๋ฐœ์ƒํ–ˆ์œผ๋ฉฐ, ์ง€์—ฐ์‹œ๊ฐ„์€ ์•ฝ 8ms ๋กœ ์•„์ง ๊ณผํ•˜์ง€ ์•Š์€ ํž™ ์‚ฌ์šฉ๋Ÿ‰์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

image

@ghkdqhrbals ghkdqhrbals changed the title [Performance] TPS 31%, MTTFB[p99] 39% Improved by - Ingress Pod Scale-out [Performance] ๐ŸŸข TPS 31%, MTTFB[p99] 39% Improved by - Ingress Pod Scale-out Jan 3, 2024
@ghkdqhrbals ghkdqhrbals changed the title [Performance] ๐ŸŸข TPS 31%, MTTFB[p99] 39% Improved by - Ingress Pod Scale-out [Performance] ๐ŸŸข TPS 31%, MTTFB[p99] 39% Improved by - Ingress Pod Scale-out GET /api-chat/rooms Jan 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: performance performance improvement
Projects
None yet
Development

No branches or pull requests

1 participant