1. 건수에 따라 디스크 사용량 및 특정 값 조회 시간 체크

  • 설정 값
    • 400G 테스트
    • 5.3G 시작 / 200 user






  1. 100760 HTTP Request 시
    • 403,040 hits.. -> 정확하지 않음 ( scroll 사용해서 request..)



    • 503800 Document 수
    • 특정 값 조회 -> JMeter로 다시 체크


건수가 작아 100만 건 단위로





  1. 1000500 건 Request 시

(request JMeter 결과 표)


  • 건수에 따른 디스크 사용량


    • Average : 324 ms
    • Min : 2ms
    • Max : 7444ms
    • 0.02% Error
    • Throughput : 613.9/sec
    • 총 Document 수 : 5506300 ( 추가된 doc 5,002,500건 )


(dh)

    • 5.4GB -> 약 6GB (6234819)
    • 이전 dh 체크를 못함..


  • 특정 값 조회 시간 체크


    • 설정 값은 동일하게 200 User 설정
    • id 값을 고정으로 검색 ("_id": "pdcSSHgBROV1kt1s3a8J")

(사용한 body 쿼리 문)


(결과 표)

    • 1011431 건 Request 테스트
    • Average : 17ms
    • Min : 0ms
    • Max : 1611 ms
    • Error : 0.02%
    • Throughput : 10306.9/sec





  1. 3053488 건 추가 Request

    • 16618992 hits - 403,040 hits = 16,215,952 hits 추가 (scroll 호출 시)

(request JMeter 결과 표)

  • 건수에 따른 디스크 사용량


    • Average : 330 ms
    • Min : 3ms
    • Max : 13663ms
    • 0.01% Error
    • Throughput : 604.2/sec
    • 총 Document 수 : 20773740 ( 추가된 doc 15,267,440건 )


    • 7066644 - 6234819 = 831,825 ( 약 0.79G 저장 )
    • 1 Document 당 0.0544835938441546 byte 차지
    • 1 hits 당 0.0512967107944079 byte 차지





  • 특정 값 조회 시간 체크


    • 1901320건 Request 테스트
    • Average : 18ms
    • Min : 0ms
    • Max : 1063 ms
    • Error : 0.01%
    • Throughput : 9785.9/sec






  1. 3000756건 추가 Request

    • 28622016 hits - 16618992 hits = 12,003,024 hits 추가 (scroll 호출 시)



(request JMeter 결과 표)

  • 건수에 따른 디스크 사용량

    • Average : 332ms
    • Min : 1ms
    • Max : 8338ms
    • 0.01% Error
    • Throughput : 600.1/sec
    • 총 Document 수 : 35777520 ( 추가된 doc 15,003,780건 )


    • 7682884 - 7066644 = 616200 ( 약 0.58G 저장 )
    • 1 Document 당 0.0410696504480871 Byte차지
    • 1 hits 당 0.0513370630601089 Byte 차지





  • 특정 값 조회 시간 체크


    • 1004140 건 Request 테스트
    • Average : 21 ms
    • Min : 1 ms
    • Max : 683 ms
    • Error : 0.01 %
    • Throughput : 8230.9 /sec


=> 35777520 Document 까지 큰 차이 없음




  • 이후 추가 테스트 설정

    • User + 100
    • 158350 까지 (일정 범위까지) document 조회 쿼리 request 테스트





  1. 1,983,528건 추가 Request

  • 36554434 hits - 28622016 hits = 7,932,418 hits 추가 (scroll)


(request JMeter 결과 표)

  • 건수에 따른 디스크 사용량

    • 1,983,528 건 Request 테스트
    • Average : 531 ms
    • Min : 2 ms
    • Max : 17302 ms --> 호출 한 컴퓨터의 RAM 문제 인 지 user 를 높여서 그런지 모르겠음
    • Error : 0.01 %
    • Throughput : 561.0 /sec
    • 총 Document 수 : 45693123 ( 추가된 doc 9915603건 )



    • 8491832 - 7682884 = 808,948( 약 0.77G 저장 )
    • 1 Document 당 0.0815833389053596 Byte차지
    • 1 hits 당 0.101980001558163 Byte 차지 (???)

=> 계산이 잘못된 건지 이전 단계에서 늦게 적용 된 건지 확실하지..


  • 특정 값 조회 시간 체크


    • 102,150 건 Request 테스트
    • Average : 291 ms
    • Min : 1 ms
    • Max : 2429 ms
    • Error : 0.08 %
    • Throughput : 609.4 /sec


  • 일부 값 조회 시간 체크 => DataStore가 꺼짐 ..


    • 건 Request 테스트
    • Average : ms
    • Min : ms
    • Max : ms
    • Error : %
    • Throughput : /sec -> Postman에서 Request 시에




=> user 500 +

+ ) 시간 기준으로 Search "prefix" 이용해서 일부 값 조회 가능
어느 범위까지 조회가 되는지 체크할 필요


+) range

주어진 범위에 해당하는 필드값이 있는 도큐먼트를 검색할 수 있다.
  • gte(greater than or equal): 주어진 값보다 크거나 같다.
  • ge(greater than): 주어진 값보다 크다.
  • lte(less than or equal): 주어진 값보다 작거나 같다.
  • lt(less than): 주어진 값보다 작다.

비교할 수 있는 필드는 숫자 또는 날짜/시간 형식이어야 한다.

ex)
{
"query": {
"range": {
"pages": {"gte": 50, "lt": 150}
}
}
}


  1. 1,796,876건 추가 Request


  • 43715758 hits - 36554434 hits (scroll) = 7,161,324 hits 추가

(request JMeter 결과 표)

  • 건수에 따른 디스크 사용량

    • 1786876 건 Request 테스트
    • Average : 845 ms
    • Min : 2 ms
    • Max : 23391 ms
    • Error : 0.03 %
    • Throughput : 590.2 /sec
    • 총 Document 수 : 54644787 - 45693123 ( 추가된 doc 8,951,664건 )


  1. 1,796,876 건 + 2,393,493 건 = 4,190,369 추가 Request


  • 53274470 hits - 36554434 hits (scroll) = 16,720,036 hits 추가


(request JMeter 결과 표)

  • 건수에 따른 디스크 사용량

    • 1786876 + 2,393,493 = 4,190,369 건 Request 테스트
    • Average : 880 ms
    • Min : 1 ms
    • Max : 37520 ms
    • Error : 0.02 %
    • Throughput : 566.8 /sec
    • 총 Document 수 : 66593240 - 45693123 ( 추가된 doc 20,900,117건 )


    • 9805236 - 8491832 = 1,313,404 ( 약 1.25G 저장 )
    • 1 Document 당 0.0628419448560982 Byte차지
    • 1 hits 당 0.0785527016807859 Byte 차지


  • 특정 값 조회 시간 체크 ( scroll 빼고 실험 , user 500 명 )


    • 3,052,648 건 Request 테스트
    • Average : 55 ms
    • Min : 1 ms
    • Max : 1999 ms
    • Error : 0.02 %
    • Throughput : 8755.2 /sec



  1. 2,014,229 건 추가 Request


  • 61320045 hits - 53274470 hits = 8,045,575 hits 추가

(request JMeter 결과 표)

  • 건수에 따른 디스크 사용량

    • 2,104,229 건 Request 테스트
    • Average : 871 ms
    • Min : 0 ms
    • Max : 63603 ms
    • Error : 0.05 %
    • Throughput : 570.2 /sec
    • 총 Document 수 : 76650205 - 66593240 ( 추가된 doc 10,056,965 건 )


    • 10354068 - 9805236 = 548,832 ( 약 0.52 G 저장 )
    • 1 Document 당 0.054572328729393 Byte차지
    • 1 hits 당 0.0682153854758672 Byte 차지


  • 특정 값 조회 시간 체크 ( scroll 빼고 실험 , user 500 명 )


    • 2177198 건 Request 테스트
    • Average : 57 ms
    • Min : 1 ms
    • Max : 2047 ms
    • Error : 0.02 %
    • Throughput : 8273.3 /sec



  1. 943,529 (오류) + 1,811,486 건 = 2,755,015 추가 Request


  • 72320561 hits - 61320045 hits = 11,000,516 hits 추가

(request JMeter 결과 표)

  • 건수에 따른 디스크 사용량

    • 2,755,015 건 Request 테스트
    • Average : 854 ms
    • Min : 6 ms
    • Max : 33708 ms
    • Error : 0.03 %
    • Throughput : 584.1 /sec
    • 총 Document 수 : 90400939- 76650205 ( 추가된 doc 13,750,734 건 )


    • 11006564 - 10354068 = 652,496 ( 약 0.62 G 저장 )
    • 1 Document 당 0.0474517214862858 Byte차지
    • 1 hits 당 0.0593150357674131 Byte 차지


  • 특정 값 조회 시간 체크 ( scroll 빼고 실험 , user 500 명 , id 값 ( QxJKSHgBROV1kt1sjJfp 로) 변경)

{
"query" : {
"match" : { "_id": "TBJKSHgBROV1kt1sjJfs" }
}
}


    • 2,011,124 건 Request 테스트
    • Average : 106ms
    • Min : 0 ms
    • Max : 125974 ms
    • Error : 1.69 %
    • Throughput : 4477.4 /sec

  • 일부 값 조회 시간 체크 (current_time 필드로 검색 , 200 User )



    • 414 건 error 89% -> DataStore가 shutdown 됨
    • Average 44792 ms



  • Clustering Test

    • 테스트 시작 정보

    • 227 df - 8321304

    • 54 df - 25263732

    • 164 df - 24740168

    • Document - 92957524 건/ 74365844 hits


  1. 164 Server shutdown


{
"cluster_name": "SAG_EventDataStore",
"status": "yellow",
"timed_out": false,
"number_of_nodes": 2,
"number_of_data_nodes": 2,
"active_primary_shards": 104,
"active_shards": 159,
"relocating_shards": 0,
"initializing_shards": 4,
"unassigned_shards": 47,
"delayed_unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"active_shards_percent_as_number": 75.71428571428571
}


?? 227 status : "yellow" ..???
54 _cluster/health => status : green ?? => 부하테스트 중에 테스트해서 오류가 난 듯

-> JMeter 멈춘 후 다시 세 서버의 Elasticsearch 클러스터 status 모두 Green


  1. 383,981 건 Request 테스트 // 164 Server Down


    • 세 서버(227,54,164) 모두 75897698 hits
    • 94056816 Document 동일


  • 75897698 hits - 74365844 hits = 1,531,854 hits 추가


(request JMeter 결과 표)

  • 건수에 따른 디스크 사용량

    • 383,981 건 Request 테스트
    • Average : 1003 ms
    • Min : 1 ms
    • Max : 21682 ms
    • Error : 0.13 %
    • Throughput : 494.8 /sec
    • 총 Document 수 : 94056816- 92957524 ( 추가된 doc 1,099,292 건 )


  • 추가 된 용량
    • 164 : 25208572 - 24740168 = 468,404
    • 54 : 25336004 - 25263732 = 72,272
    • 227 : 8337512 - 8321304 = 16,208
    • 164 서버를 다운 시켰는데 용량이 제일 많이 늘어남

  • byte/hits
    • 164 : 0.3057758768133256
    • 54 : 0.0471794309379353
    • 227 : 0.0105806428027736
    • 164 + 54 + 227 : 0.3635359505540345

  • byte/document
    • 164 : 0.4260960691062975
    • 54 : 0.0657441334968325
    • 227 : 0.0147440352517802





  1. 1,203,321 건 Request 테스트 // 54 Server Down


세 서버 모두 동일 hits


  • 80697111 hits - 75897698 hits = 4,799,413 hits
(request JMeter 결과 표)

  • 건수에 따른 디스크 사용량

    • 1,203,321 건 Request 테스트
    • Average : 1041 ms
    • Min : 3 ms
    • Max : 32812 ms
    • Error : 0.04 %
    • Throughput : 479.0 /sec
    • 총 Document 수 : 100871604 - 94056816 ( 추가된 doc 6,814,788 건 )


  • 추가 된 용량
    • 164 : 25992884 - 25208572 = 784,312
    • 54 : 21556592 - 25336004 = -3,779,412 (?????)
    • 227 : 12340648 - 8337512 = 4,003,136
    • +) 1,008,036

  • byte/hits
    • 164 :
    • 54 :
    • 227 :
    • 164 + 54 + 227 : 0.2100331853082867

  • byte/document
    • 164 :
    • 54 :
    • 227 :
    • 164 + 54 + 227 : 0.1479189081157037


  1. ?? 건 Request 테스트 // 54, 164 Server Down


두 서버 down 시점부터 Response TIme이 급격하게 늘어남 오류 X


서버를 처음부터 다운 시킨 후 테스트


???

500 USER 테스트 시에 한번에 500건씩 http request가 ..

서버를 올린 시점부터

다시 정상 Response를 받음



primary shard 가 164로 replica가 54로..