Code Monkey home page Code Monkey logo

Comments (1)

nokchax avatar nokchax commented on July 17, 2024 1

클러스터를 어떻게 구성했는지 알려주세요~ (마스터 노드 : n 대, 워커 노드 n대)

  • 마스터노드 1대, 워커노드 2대로 구성했습니다.
  • 마스터 노드의 경우에는 적어도 3대 까지는 두는게 맞다고 생각하지만, 단순 과제용 이기 때문에 한대만으로 충분하다고 생각해 1대만 두었습니다.
  • 워커노드의 경우에는 스트레스 테스트를 해가면서 점차적으로 늘렸는데 2대 까지만으로도 충분하다고 생각하여 2대로 구성했습니다.

스트레스 테스트 결과를 공유해주세요 (기존에 container 한대 운영시 한계점도 같이 공유해주세요)

  • 변경된 점이 많아 단순 비교를 하기를 힘듭니다.
  • 변경된 점
    • 컨테이너 환경에서는 테스트를 local에서 진행 -> 쿠버네티스로 구성한 이후 원격에서 호출 (네트워크 전송 시간 추가)
    • 레디스의 경우 앱과 같은 서버에서 띄워 local 간 통신 -> 쿠버네티스로 구성한 이후로는 DB서버에 레디스를 구성했습니다. (네트워크 전송 시간 추가)
    • 이러한 점 때문에 동접자수 2000명으로 테스트할 경우 응답이 지나치게 낮아 동접자수 1000명 부터 다시 테스트 했습니다.
  • 따라서 이전과 단순 비교는 힘들지만 테스트 결과는 아래와 같습니다.

컨테이너 환경, 로컬 레디스, 동접자 2000

running (1m10.9s), 0000/2000 VUs, 53107 complete and 0 interrupted iterations
default ✓ [======================================] 0000/2000 VUs  1m10s

     ✓ inquire successfully

     checks.........................: 100.00% ✓ 53107  ✗ 0
     data_received..................: 149 MB  2.1 MB/s
     data_sent......................: 5.5 MB  77 kB/s
     http_req_blocked...............: avg=335.93µs min=3.46µs  med=5.09µs   max=375.3ms  p(90)=7.4µs    p(95)=31.18µs
     http_req_connecting............: avg=310.45µs min=0s      med=0s       max=375.07ms p(90)=0s       p(95)=0s
   ✓ http_req_duration..............: avg=340.88ms min=1.81ms  med=233.79ms max=2.29s    p(90)=820.16ms p(95)=978.12ms
       { expected_response:true }...: avg=340.88ms min=1.81ms  med=233.79ms max=2.29s    p(90)=820.16ms p(95)=978.12ms
     http_req_failed................: 0.00%   ✓ 0      ✗ 53107
     http_req_receiving.............: avg=1.54ms   min=19.48µs med=284.86µs max=211.12ms p(90)=2.11ms   p(95)=3.58ms
     http_req_sending...............: avg=688.33µs min=9.59µs  med=13.7µs   max=291.56ms p(90)=68.96µs  p(95)=177.05µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s       p(90)=0s       p(95)=0s
     http_req_waiting...............: avg=338.66ms min=1.67ms  med=232.22ms max=2.29s    p(90)=817.78ms p(95)=975.69ms
     http_reqs......................: 53107   748.819568/s
     iteration_duration.............: avg=1.34s    min=1s      med=1.23s    max=3.29s    p(90)=1.82s    p(95)=1.98s
     iterations.....................: 53107   748.819568/s
     vus............................: 95      min=34   max=1999
     vus_max........................: 2000    min=2000 max=2000

평균 응답속도 340.88ms

Master 1, Worker 1, Replica 10, 동접자 1000

running (10m00.2s), 0000/1000 VUs, 110127 complete and 9 interrupted iterations
default ✓ [======================================] 0000/1000 VUs  10m0s

     ✗ inquire successfully
      ↳  87% — ✓ 95874 / ✗ 14253

     checks.........................: 87.05% ✓ 95874  ✗ 14253
     data_received..................: 82 MB  136 kB/s
     data_sent......................: 13 MB  21 kB/s
     http_req_blocked...............: avg=329.82ms min=0s     med=1µs      max=59.51s p(90)=1µs     p(95)=2µs
     http_req_connecting............: avg=47.43ms  min=0s     med=0s       max=23.55s p(90)=76.25ms p(95)=148.94ms
   ✗ http_req_duration..............: avg=1.08s    min=0s     med=130.73ms max=56.64s p(90)=1.48s   p(95)=4.3s
       { expected_response:true }...: avg=1s       min=6.51ms med=202.74ms max=56.64s p(90)=1.62s   p(95)=4.27s
     http_req_failed................: 12.94% ✓ 14253  ✗ 95874
     http_req_receiving.............: avg=410.69µs min=0s     med=74µs     max=1.57s  p(90)=207µs   p(95)=678.69µs
     http_req_sending...............: avg=79.8ms   min=0s     med=49µs     max=44.3s  p(90)=124µs   p(95)=168µs
     http_req_tls_handshaking.......: avg=235.6ms  min=0s     med=0s       max=59.51s p(90)=0s      p(95)=0s
     http_req_waiting...............: avg=1s       min=0s     med=130.36ms max=45.53s p(90)=1.42s   p(95)=4.19s
     http_reqs......................: 110127 183.492507/s
     iteration_duration.............: avg=2.8s     min=8.59ms med=1.16s    max=1m0s   p(90)=3.59s   p(95)=12.62s
     iterations.....................: 110127 183.492507/s
     vus............................: 1      min=1    max=1000
     vus_max........................: 1000   min=1000 max=1000

평균 응답속도 1.08s

Master 1, Worker 1, Replica 5, 동접자 1000

running (10m00.8s), 0000/1000 VUs, 269625 complete and 0 interrupted iterations
default ✓ [======================================] 0000/1000 VUs  10m0s

     ✓ inquire successfully

     checks.........................: 100.00% ✓ 269625 ✗ 0
     data_received..................: 779 MB  1.3 MB/s
     data_sent......................: 24 MB   39 kB/s
     http_req_blocked...............: avg=497.53µs min=0s     med=1µs     max=1.57s    p(90)=1µs      p(95)=1µs
     http_req_connecting............: avg=25.43µs  min=0s     med=0s      max=170.64ms p(90)=0s       p(95)=0s
   ✓ http_req_duration..............: avg=113.57ms min=6.05ms med=35.41ms max=3.55s    p(90)=327.42ms p(95)=435.33ms
       { expected_response:true }...: avg=113.57ms min=6.05ms med=35.41ms max=3.55s    p(90)=327.42ms p(95)=435.33ms
     http_req_failed................: 0.00%   ✓ 0      ✗ 269625
     http_req_receiving.............: avg=192.19µs min=9µs    med=81µs    max=756.84ms p(90)=178µs    p(95)=343µs
     http_req_sending...............: avg=64.88µs  min=7µs    med=50µs    max=5.15ms   p(90)=105µs    p(95)=139µs
     http_req_tls_handshaking.......: avg=470.07µs min=0s     med=0s      max=1.56s    p(90)=0s       p(95)=0s
     http_req_waiting...............: avg=113.31ms min=5.84ms med=35.17ms max=3.55s    p(90)=327.12ms p(95)=435.05ms
     http_reqs......................: 269625  448.811363/s
     iteration_duration.............: avg=1.11s    min=1s     med=1.03s   max=4.55s    p(90)=1.32s    p(95)=1.43s
     iterations.....................: 269625  448.811363/s
     vus............................: 3       min=3    max=1000
     vus_max........................: 1000    min=1000 max=1000

평균 응답 속도 113.57ms

Master 1, Worker 2, Replica 10, 동접자 1000

running (10m00.3s), 0000/1000 VUs, 294011 complete and 0 interrupted iterations
default ✓ [======================================] 0000/1000 VUs  10m0s

     ✓ inquire successfully

     checks.........................: 100.00% ✓ 294011 ✗ 0
     data_received..................: 849 MB  1.4 MB/s
     data_sent......................: 26 MB   43 kB/s
     http_req_blocked...............: avg=139.96µs min=0s     med=1µs     max=3.88s    p(90)=1µs     p(95)=1µs
     http_req_connecting............: avg=28.9µs   min=0s     med=0s      max=442.91ms p(90)=0s      p(95)=0s
   ✓ http_req_duration..............: avg=21.15ms  min=5.94ms med=12.16ms max=3.64s    p(90)=26.14ms p(95)=39.72ms
       { expected_response:true }...: avg=21.15ms  min=5.94ms med=12.16ms max=3.64s    p(90)=26.14ms p(95)=39.72ms
     http_req_failed................: 0.00%   ✓ 0      ✗ 294011
     http_req_receiving.............: avg=159.63µs min=10µs   med=80µs    max=2.21s    p(90)=171µs   p(95)=301µs
     http_req_sending...............: avg=63.79µs  min=7µs    med=50µs    max=9.71ms   p(90)=102µs   p(95)=135µs
     http_req_tls_handshaking.......: avg=109.1µs  min=0s     med=0s      max=3.78s    p(90)=0s      p(95)=0s
     http_req_waiting...............: avg=20.93ms  min=3.96ms med=11.94ms max=3.64s    p(90)=25.91ms p(95)=39.49ms
     http_reqs......................: 294011  489.798549/s
     iteration_duration.............: avg=1.02s    min=1s     med=1.01s   max=4.9s     p(90)=1.02s   p(95)=1.04s
     iterations.....................: 294011  489.798549/s
     vus............................: 3       min=3    max=1000
     vus_max........................: 1000    min=1000 max=1000

평균 응답속도 21.15ms

Master 1, Worker 2, Replica 10, 동접자 1500

running (10m00.4s), 0000/1500 VUs, 414706 complete and 0 interrupted iterations
default ✓ [======================================] 0000/1500 VUs  10m0s

     ✓ inquire successfully

     checks.........................: 100.00% ✓ 414706 ✗ 0
     data_received..................: 1.2 GB  2.0 MB/s
     data_sent......................: 36 MB   60 kB/s
     http_req_blocked...............: avg=339.33µs min=0s     med=1µs     max=923.03ms p(90)=1µs      p(95)=1µs
     http_req_connecting............: avg=47.14µs  min=0s     med=0s      max=354.55ms p(90)=0s       p(95)=0s
   ✓ http_req_duration..............: avg=86.19ms  min=5.62ms med=29.45ms max=4.65s    p(90)=239.08ms p(95)=327.67ms
       { expected_response:true }...: avg=86.19ms  min=5.62ms med=29.45ms max=4.65s    p(90)=239.08ms p(95)=327.67ms
     http_req_failed................: 0.00%   ✓ 0      ✗ 414706
     http_req_receiving.............: avg=161.64µs min=9µs    med=62µs    max=1.95s    p(90)=125µs    p(95)=215µs
     http_req_sending...............: avg=48.49µs  min=6µs    med=40µs    max=15.24ms  p(90)=76µs     p(95)=100µs
     http_req_tls_handshaking.......: avg=290.61µs min=0s     med=0s      max=916.69ms p(90)=0s       p(95)=0s
     http_req_waiting...............: avg=85.98ms  min=5.55ms med=29.25ms max=4.65s    p(90)=238.82ms p(95)=327.41ms
     http_reqs......................: 414706  690.704449/s
     iteration_duration.............: avg=1.08s    min=1s     med=1.03s   max=5.68s    p(90)=1.24s    p(95)=1.32s
     iterations.....................: 414706  690.704449/s
     vus............................: 3       min=3    max=1500
     vus_max........................: 1500    min=1500 max=1500

평균 응답속도 86.19ms

Master 1, Worker 2, Replica 10, 동접자 2000

running (10m06.5s), 0000/2000 VUs, 484948 complete and 0 interrupted iterations
default ✓ [======================================] 0000/2000 VUs  10m0s

     ✓ inquire successfully

     checks.........................: 100.00% ✓ 484948 ✗ 0
     data_received..................: 1.4 GB  2.3 MB/s
     data_sent......................: 42 MB   70 kB/s
     http_req_blocked...............: avg=995.44µs min=0s     med=1µs      max=3.56s  p(90)=1µs      p(95)=1µs
     http_req_connecting............: avg=75.33µs  min=0s     med=0s       max=1.04s  p(90)=0s       p(95)=0s
   ✓ http_req_duration..............: avg=246.03ms min=6.07ms med=113.41ms max=14.7s  p(90)=618.73ms p(95)=771.57ms
       { expected_response:true }...: avg=246.03ms min=6.07ms med=113.41ms max=14.7s  p(90)=618.73ms p(95)=771.57ms
     http_req_failed................: 0.00%   ✓ 0      ✗ 484948
     http_req_receiving.............: avg=437.3µs  min=9µs    med=62µs     max=7.74s  p(90)=130µs    p(95)=244µs
     http_req_sending...............: avg=49.29µs  min=6µs    med=40µs     max=13.6ms p(90)=75µs     p(95)=99µs
     http_req_tls_handshaking.......: avg=918.41µs min=0s     med=0s       max=3.43s  p(90)=0s       p(95)=0s
     http_req_waiting...............: avg=245.55ms min=4.44ms med=113.17ms max=14.7s  p(90)=618.18ms p(95)=770.63ms
     http_reqs......................: 484948  799.588046/s
     iteration_duration.............: avg=1.23s    min=1s     med=1.11s    max=9.88s  p(90)=1.62s    p(95)=1.77s
     iterations.....................: 484948  799.588046/s
     vus............................: 5       min=5    max=2000
     vus_max........................: 2000    min=2000 max=2000

평균 응답속도 246.03ms

결과

  • 워커 노드 1대에 레플리카 5, 10인 경우에 비하면 워커 노드 2대의 경우 높은 성능을 보여줬음
  • 워커 노드 3대 까지 테스트 하는 것은 낭비라 생각하여 여기서 테스트 종료

현재 워커노드에서 몇대의 컨테이너를 운영중인지 공유해주세요

현재는 2대의 워커노드에 총 10개의 컨테이너를 운영중입니다. 참고로 1대의 워커노드에 10개의 컨테이너를 운영했을 경우 자원을 지나치게 나눠 가져(추측) 오히려 1대의 워커노드에 5개의 컨테이너를 구성했을때 보다 성능이 좋지 않았습니다.

from infra-subway.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.