Thực nghiệm với elastic search

16 924 6
Thực nghiệm với elastic search

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯờNG ĐạI HọC BáCH KHOA Hà NộI VIệN CÔNG NGHệ THÔNG TIN Và TRUYềN THÔNG BI TP LN MễN PHN TCH V THIT K C S D LIU TI: THC NGHIM VI ELASTIC SEARCH Ging viờn hng dn Sinh viờn thc hin Nguyn ng Chin Nguyn Vit Anh c Hiu : V Tuyt Trinh Thc nghim vi Elastic search H Ni, 12 - 2015 Trang Thc nghim vi Elastic search Mc lc Trang Thc nghim vi Elastic search Li núi u Khi lp trỡnh n lỳc ta s phi lm vic vi c s d liu ln n hng GB, ta phi thc hin truy vi hng triu bn ghi thng xuyờn Vic ti u cỏc cõu truy SQL ch gii quyt c mt phn nh Ngy nay, vi s phỏt trin ca cụng ngh thỡ Elastic search c coi l mt search engine khỏ tt, c ỏnh giỏ cao v hiu nng Trong bi bỏo cỏo ny chỳng em s i tỡm hiu v thc nghim vi Elastic search Chỳng em chõn thnh cm n cụ V Tuyt Trinh ó giỳp chỳng em cú th hon thnh tt bỏo cỏo ny Trang Thc nghim vi Elastic search I Cỏc khỏi nim cn bn Elastic search: NRT (Near real time): - ES l mt nn tng Search gn thi gian thc, ngha l cú tr nh t lỳc bn index document cho n lỳc nú cú th c search ra, thng l khong giõy Cluster: - Mt cluster(cm) l mt hp ca mt hoc nhiu Nodes (servers) m cựng nm gi ton b d liu ca bn v cung cp cỏc ch mc v kh nng search qua tt c cỏc nodes Mt cluster c nh danh bi tờn nht, mc nh l elasticsearch - Ta cú th cú nhiu clusters c lp vi nhng cluster name khỏc Node: - Mt node l mt server riờng m l mt phn Cluster ca bn Lu tr d liu v tham gia vo vic lp ch mc v search Mt node cng c nh danh bi mt tờn riờng bit, mc nh bng tờn ca mt nhõn vt Marvel, c ch nh cho node khi ng Cỏi tờn mc nh ny bn cú th thay i c - Mc nh mi node c thit t join vi mt cluster nht nh bi cluster name Mc nh s c join vo elasticsearch cluster iu ú cú ngha bn ng mt vi nodes cựng mt mng ca bn, thỡ chỳng s nhỡn thy v l cỏc nhỏnh riờng ca mt cm chung tờn l elasticsearch - Trong mt cluster bn cú th cú bao nhiờu node cng c Index : - Mt index l mt hp cỏc documents cú c im chung Vớ d, bn cú mt index cho d liu sn phm, mt index khỏc cho danh mc sn phm, hoc mt index khỏc sp xp d liu Mt index c c nh danh bi tờn riờng, tờn riờng vit thng, ko vit hoa Cỏi tờn ny dựng liờn h n index thc hin to index, search, update, delete document nú - Trong mt cluster cú th cha nhiu index Type: - Trong mt index bn cú th nh ngha mt hoc nhiu types Mt type l mt mc/phõn vựng cú ngha index ca bn Mi Type c nh ngha cho document bao gm mt s fields Vớ d bn lm blog, bn cú th nh ngha mt type cho d liu user, type khỏc cho d liu blog hay type khỏc cho d liu comment Document: - Mt Document l mt n v thụng tin c bn c ỏnh index Vớ d bn cú mt document cho mt customer, document khỏc cho mt sn phm hay cho mt n t hng khỏc Document ny c format di Trang Thc nghim vi Elastic search dng JSON, dng d liu ph bin m tt c cỏc ngụn ng khỏc cú th hiu c - Trong mi index/type, bn cú th lu tr nhiu documents Chỳ ý mt document cn c gỏn vo mt type bờn index cú th c ỏnh index Shard & Replicas: - Mi index cú th c chia thnh nhiu Shards Mi index cng cú th c lu nhiu ln Mi c nhõn bn, mi index s cú nhng shards chớnh v nhng shards nhõn bn (copy t shards chớnh) S lng shards v replicas cú th c khai bỏo to index Sau index c to, bn cú th thay i s lng bn bt c lỳc no nhng khụng th thay i s shards - Mc nh mi index Elastic search cú primary shard v mi shard s cú mt replica shard tng ng Nh vy nu ta cú ti thiu node cluster thỡ ta s cú primary shard v replica shard Nh vy ta cú tng cng 10 shard/ index II Hot ng bờn mt cluster: Mt cluster rng: - Chỳng ta s bt u vi mt node n cha cú d liu v ch mc, cluster trụng s cú dng nh hỡnh sau: Mi node l mt running instance ca elastic search Mi cluster bao gm mt hoc nhiu node Cỏc node lm vic cựng nhau, chỳng chia s d liu cho Khi mt node c thờm vo hay xúa i thỡ d liu s c t chc v dn tri li cỏc node - Mt node s c chn lm master node Nú cú nhim v qun lý vic to hay xúa cỏc index, thờm hoc xúa cỏc node ca mt cluster - Chỳng ta cú th giao tip vi mi node cluster Mi node u bit v trớ ca document m ta ang quan tõm ú chỳng cú th gi yờu cu n node cha d liu m ta quan tõm Tỡnh trng ca cluster: - Di õy l vớ d v thụng tin ca cluster rng - Trang Thc nghim vi Elastic search Trng status s cho chỳng ta bit tỡnh trng ca cluster Cú giỏ tr th hin tỡnh trng ca cluster bao gm green, yellow v red green: tt c cỏc primary shard v replica shard u hot ng yellow: tt c cỏc primary shard u hot ng, cũn replica shard cú th khụng red: khụng cú mt primary shard no hot ng Thờm index: - thờm d liu, chỳng ta cn index, ni lu tr cỏc d liu liờn quan Trờn thc t, mi index l mt tờn logic (logical namespace) tr n mt hoc nhiu shard - Cỏc document ca chỳng ta s c lu tr v index tron shard nhng chỳng ta khụng lm vic trc tip vi chỳng, chỳng ta lm vic vi index - Shard l mt cỏch phõn tỏn d liu mt cluster S lng shard cú th tng lờn hoc gim i ú Elastic search cú nhim v t ng dch chuyn cỏc shard gia cỏc node m bo cluster luụn c gi cõn bng - S lng primary shard s c thit lp index c to cũn s lng replica shard cú th thay i theo thi gian - Vớ d chỳng ta cú node n vi shard v index: - Trang Thc nghim vi Elastic search Thụng tin v cluster ny: Tỡnh trng ca cluster l yellow ngha l cỏc primary shard ó hot ng cũn cỏc replica shard cha hot ng Trng hp xy li: - trỏnh mt mỏt d liu quỏ trỡnh hot ng ta cn khai bỏo cỏc replica shard cho cỏc primary shard - Ta thờm mt node vo cluster lu tr cỏc replica shard tỡnh trng node u tiờn b li iu ú cú ngha node u tiờn b li thỡ d liu trờn cluster cũn, cỏc request cú th thc hin trờn d liu lu ny Vớ d thờm vo node 2: Trang Thc nghim vi Elastic search Thụng tin ca cluster lỳc ny: Ta thy tỡnh trng ca ca cluster hin ti l green, ngha l nú ó sn sng M rng theo chiu ngang: - Ta m rng bng cỏch thờm vo mt node sau ú di chuyn cỏc shard t node v node sang - iu ny cú ngha ti nguyờn phn cng nh CPU, RAM, I/O s c chia s gia cỏc shard vi nhau, cho phộp cỏc shard lm vic hiu qu hn Trang Thc nghim vi Elastic search - Mi shard mt node cú kh nng s dng ti a 100% ti nguyờn phn cng tng hiu qu hot ng m rng lm tng hiu nng request ta cú th tng s lng replica shard, vi mi primary shard ta cú replica shard Ta s phõn b u node d liu trờn node ny l nh Lu ý: khụng nờn cú nhiu replica shard cựng tờn mt node nh vy khụng lm tng hiu nng bi vỡ mi shard ch cú th truy nhp mt phn nh ti nguyờn ca node, m iu ny ch gõy d tha d liu Khi mt node b li: - Khi mt node b li tỡnh trng c mụ t nh sau: - - Node va b li l master node ú cluster s phi chn ngu nhiờn mt node lm master node Sau node b li primary shard v u b mt, nờn tỡnh trng ca cluster s chuyn sang red Lỳc ny master node mi s yờu cu cỏc replicas shard cỏc node cũn li t ng chuyn thnh primary Khi ú tỡnh trng ca cluster s chuyn sang yellow khai bỏo trờn mi primary shard cú replicas shard m hin ti ch cũn Nu node b li tng t nh node thỡ d liu trờn Trang 10 Thc nghim vi Elastic search node cũn cỏc replicas shard s t ng chuyn thnh primary shard gi cho ng dng chy III Kch bn th nghim: Ti nguyờn: - Gm cú Cloud server vi ram 2GB v dung lng lu tr tm 30GB - server cú ci java, elastic search - server cú ci NGINX úng vai trũ l mt load balancer Kch bn: Chỳng ta tin hnh so sỏnh hiu nng s dng mt server v server Hỡnh v di õy s th hin kch bn th nghim: Th nghim 1: server Th nghim 2: server Trờn mi th nghim ta tin hnh nhng ni dung sau: Trang 11 Thc nghim vi Elastic search Ta th nghim vi phộp toỏn chớnh: index, find document, v aggregation - Ta s o ghi li cỏc thụng s: s lt request thnh cụng trờn s, cỏc thụng s CPU, v Disk IOPS (s lng phộp toỏn read/write trờn s ca a) Kt qu: 3.1 Phộp toỏn Index: - 10 triu bn ghi trờn mi node - S lng document request 500 documents - Number of node 40000 docs 100000 docs 150000 docs 39s 77s 150s 49s 97s 129s 3.2 - Phộp toỏn Aggregation: Cõu truy vi Aggregation: { "query": { "bool": { "must": [{ "range": { "staff.age": { "from": "1", "to": "60" } } }], "must_not": [], "should": [] } }, "aggs" : { "sum_salary" : { "sum" : { "field" : "salary" } } } } Trang 12 Thc nghim vi Elastic search - Thc nghim vi test case: Case 1: node vi 10 triu document Case : node vi 20 triu document Vi cỏc tham s time out 30s, concurrent level 20 Number of request 1000 2000 3000 Case 2,68 2,73 2,69 Case 2,69 2,85 2,75 - Thụng s trờn CPU: Number of request 1000 2000 3000 Case 99 % 99% 99% Case 40% and 33% 52% and 23% 50% and 40% 3.3 - Phộp toỏn Find Document: Cõu truy vi Find Document: { "query": { "bool": { "must": [{ "range": { "manager.age": { "from": "20", "to": "30" } } }], "must_not": [], "should": [] } }, "from": 0, Trang 13 Thc nghim vi Elastic search "size": 50, "sort": [], "facets": {} - } Thc nghim vi test case: Case 1: node vi 10 triu bn ghi Case 2: node vi 20 triu bn ghi Time out 30s concurrent level 20 Number of request 8000 9000 10000 Case 165.14 155.24 143 Case 230 199.71 290 - - Thụng s trờn DiskIOPs: Trng thỏi thụng thng: phộp toỏn Trng thỏi aggregation: 32 phộp toỏn (vi 29 phộp toỏn c, phộp toỏn ghi) Thụng s trờn CPU: Number of request 8000 9000 10000 Case 44 % 43% 37% Case 20% and 13% 14% and 22% 27% and 12% Trang 14 Thc nghim vi Elastic search IV Kt lun: Qua th nghim trờn ta cú th rỳt kt lun v li ớch s dng elastic search v tớnh chu ti, kh nng phõn tỏn, thi gian truy Trang 15 Thc nghim vi Elastic search Ti liu tham kho [1] Document Elastic search: http://elastic.co/guide/en/elasticsearch/reference/1.4 [2] Cỏc ti liu khỏc trờn mng Internet Trang 16 [...]... phép toán (với 29 phép toán đọc, 3 phép toán ghi) Thông số trên CPU: Number of request 8000 9000 10000 Case 1 44 % 43% 37% Case 2 20% and 13% 14% and 22% 27% and 12% Trang 14 Thực nghiệm với Elastic search IV Kết luận: Qua thử nghiệm trên ta có thể rút ra kết luận về lợi ích khi sử dụng elastic search về tính chịu tải, khả năng phân tán, thời gian truy vấn Trang 15 Thực nghiệm với Elastic search Tài... Aggregation: Câu truy vấn với Aggregation: { "query": { "bool": { "must": [{ "range": { "staff.age": { "from": "1", "to": "60" } } }], "must_not": [], "should": [] } }, "aggs" : { "sum_salary" : { "sum" : { "field" : "salary" } } } } Trang 12 Thực nghiệm với Elastic search - Thực nghiệm với 2 test case: Case 1: 1 node với 10 triệu document Case 2 : 2 node với 20 triệu document Với các tham số time out... - Phép toán Find Document: Câu truy vấn với Find Document: { "query": { "bool": { "must": [{ "range": { "manager.age": { "from": "20", "to": "30" } } }], "must_not": [], "should": [] } }, "from": 0, Trang 13 Thực nghiệm với Elastic search "size": 50, "sort": [], "facets": {} - } Thực nghiệm với 2 test case: Case 1: 1 node với 10 triệu bản ghi Case 2: 2 node với 20 triệu bản ghi Time out 30s concurrent... bản: Chúng ta tiến hành so sánh hiệu năng khi sử dụng một 1 server và 2 server Hình vẽ dưới đây sẽ thể hiện kịch bản thử nghiệm: Thử nghiệm 1: 1 server Thử nghiệm 2: 2 server Trên mỗi thử nghiệm ta tiến hành những nội dung sau: Trang 11 Thực nghiệm với Elastic search Ta thử nghiệm với 3 phép toán chính: index, find document, và aggregation - Ta sẽ đo ghi lại các thông số: số lượt request thành công.. .Thực nghiệm với Elastic search node 3 vẫn còn các replicas shard sẽ tự động chuyển thành primary shard để giữ cho ứng dụng vẫn chạy III Kịch bản thử nghiệm: 1 Tài nguyên: - Gồm có 3 Cloud server với ram 2GB và dung lượng lưu trữ tầm 30GB - 2 server có cài java, elastic search - 1 server có cài NGINX đóng vai trò là một load balancer 2... kết luận về lợi ích khi sử dụng elastic search về tính chịu tải, khả năng phân tán, thời gian truy vấn Trang 15 Thực nghiệm với Elastic search Tài liệu tham khảo [1] Document Elastic search: http:/ /elastic. co/guide/en/elasticsearch/reference/1.4 [2] Các tài liệu khác trên mạng Internet Trang 16 .. .Thực nghiệm với Elastic search Hà Nội, 12 - 2015 Trang Thực nghiệm với Elastic search Mục lục Trang Thực nghiệm với Elastic search Lời nói đầu Khi lập trình đến lúc ta phải làm việc với sở... hiểu thực nghiệm với Elastic search Chúng em chân thành cảm ơn cô Vũ Tuyết Trinh giúp đỡ để chúng em hoàn thành tốt báo cáo Trang Thực nghiệm với Elastic search I Các khái niệm Elastic search: ... "field" : "salary" } } } } Trang 12 Thực nghiệm với Elastic search - Thực nghiệm với test case: Case 1: node với 10 triệu document Case : node với 20 triệu document Với tham số time out 30s, concurrent

Ngày đăng: 08/01/2017, 15:26

Từ khóa liên quan

Mục lục

  • Lời nói đầu

  • IV. Kết luận:

  • Tài liệu tham khảo.

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan