CARVIEW |
Select Language
HTTP/2 200
date: Thu, 16 Oct 2025 05:17:19 GMT
content-type: text/html; charset=utf-8
cache-control: max-age=0, private, must-revalidate
cf-cache-status: DYNAMIC
link: ; rel=preload; as=style; nopush,; rel=preload; as=script; nopush,; rel=preload; as=style; nopush,; rel=preload; as=script; nopush,; rel=preload; as=script; nopush
nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
referrer-policy: strict-origin-when-cross-origin
report-to: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=ijSgkBrBI%2Ff%2FDgB37U6%2B4FGBgjSvpfjXNQm4UrcEcpg%3D\u0026sid=e11707d5-02a7-43ef-b45e-2cf4d2036f7d\u0026ts=1760591839"}],"max_age":3600}
reporting-endpoints: heroku-nel="https://nel.heroku.com/reports?s=ijSgkBrBI%2Ff%2FDgB37U6%2B4FGBgjSvpfjXNQm4UrcEcpg%3D&sid=e11707d5-02a7-43ef-b45e-2cf4d2036f7d&ts=1760591839"
server: cloudflare
strict-transport-security: max-age=0; includeSubDomains
vary: Accept,Accept-Encoding
via: 2.0 heroku-router
x-content-type-options: nosniff
x-permitted-cross-domain-policies: none
x-request-id: 5fa52c8e-0f28-e46a-de8b-c963a2c3541f
x-runtime: 0.149654
x-xss-protection: 0
content-encoding: gzip
set-cookie: _secure_speakerd_session=P4JGEzfFL0zJKi7gqEVBfngZo2TflFyutVam1WSBUiFcdDAe6BaE4okRWg7sErSpdyxxI4H%2BOI19mNRcXeueIXG5sP0xzSNUvih0zhIYqT%2BonUoENV33c1%2BRBjcTq7ZaOWG9v8otjltwm8Edzycm5bQFzSVS93eyOUPgOmZ4%2FR1hbuyymwNEBHwATvg5FsO0EAzKmqLGM6bP6q12fXiHrbWS%2BaNeGP1uuNbybRAKj1YC553HOf%2BggHYJgTL2X0wJHx2YcoCzcKHIdz5WH4OAfYpohR9S5CD6yH7KOq4Txr8sCEVaH29g0KmE0W1DGH5xL2vy79FxmRbgnz9nX9OhA0xXytsUTPs5ToQi9xaciqJJie3YACqm4nZmgF1xYLTOpMx1YRKXTxGt%2Ft2yttk%3D--pINUaxJsLTwi61u7--OJJUWr4JVsmZI0zzYhlsyw%3D%3D; HttpOnly; SameSite=Lax; Secure; Path=/; Expires=Thu, 30 Oct 2025 05:17:19 GMT
cf-ray: 98f516d1adf51f95-BLR
TSifter: マイクロサービスにおける性能異常の迅速な診断に向いた時系列データの次元削減手法 / TSifter in proceedings of IOTS2020 - Speaker Deck
TSifter: マイクロサービスにおける性能異常の迅速な診断に向いた時系列データの次元削減手法 / TSifter in proceedings of IOTS2020
第13回情報処理学会インターネットと運用技術シンポジウムhttps://www.iot.ipsj.or.jp/symposium/iots2020-program/
Yuuki Tsubouchi (yuuk1)
December 03, 2020
More Decks by Yuuki Tsubouchi (yuuk1)
Other Decks in Research
Featured
Transcript
-
TSifter: ϚΠΫϩαʔϏεʹ͓͚Δੑೳҟৗͷ ਝͳஅʹ͍ͨ࣌ܥྻσʔλͷ࣍ݩݮख๏ ௶ ༎थʢ͘͞ΒΠϯλʔωοτɺژେֶʣ ా തจʢ͘͞ΒΠϯλʔωοτʣ ݹ խେʢͯͳʣ ใॲཧֶձ
ୈ13ճΠϯλʔωοτͱӡ༻ٕज़γϯϙδϜʢIOTS2020ʣ 202012݄3 -
6 ੑೳҟৗΛஅ͢ΔͨΊͷطଘͷΞϓϩʔν ϝτϦοΫ ςΩετϩά ࣮ߦτϨʔε ๛ͳใΛ͕ͭϩάʹग़ྗ͞Εͳ͍ͷ ͋Δ ॲཧܦ࿏ͷล୯Ґͷεϧʔϓοτ࣮ߦ࣌ؒΛ ѲͰ͖ΔɻΞϓϦέʔγϣϯʹܭଌॲཧΛઃ ఆ͢Δख͕ؒ͋Δ
ݸʑͷใྔগͳ͍͕ऩूɺอଘɺՄࢹԽ͠ ͍͢ɻ ࣮ڥͷద༻ੑΛ౿·͑ͯɺʮϝτϦοΫʯʹண -
7 ϝτϦοΫϕʔεΞϓϩʔν ֤αʔϏεͷܥྻάϥϑ͔Β૬ؔΛൃݟͰ͖Δ͕ɺݪҼՕॴ͕ෆ໌ ʮ౷ܭతҼՌ୳ࡧʯΛԠ༻ͨ͠Ξϓϩʔν͕ۙͰఏҊ͞Ε͍ͯΔ Service A response time Service D
response time Service E response time Service A response time Service D response time Service E response time Service F response time Service C response time ᶃܥྻؒͷҼՌൖάϥϑͷߏங ᶄҼՌͷܦ࿏ͷਪ Ma, M.,et al., AutoMAP: Diagnose Your Microservice-based Web Applications Automatically, WWW2020. Qiu, J.,et al., A Causality Mining and Knowledge Graph Based Method of Root Cause Diagnosis for Performance Anomaly in Cloud Applications, Applied Sciences, 2020. Lin, J.,et al., Microscope: Pinpoint Performance Issues with Causal Graphs in Micro-Service Environments, ICSOC2018. Service A response time Service F response time Service C response time Top-1 Top-2 Service B response time -
ɾஅʹར༻͢ΔϝτϦοΫͷछྨͷ߹ͤݻఆ ʢ1ʙ7ݸఔʣ ɾྫʣԠԆͷΈɺ{ԠԆ, CPUར༻, ϝϞϦ༻ྔ,…} ͳͲ ɾΑΓݪҼʹ͍ۙϝτϦοΫ͕݁Ռ͔Βআ֎͞ΕΔՄೳੑ͕͋Δ 8 ϝτϦοΫϕʔεΞϓϩʔνͷ՝ Ͱ͖ΔݶΓଟ͘ͷϝτϦοΫͷܥྻΛ୳ࡧ͢Δඞཁ͕͋Δ
TCPͷ࠶ૹΤϥʔ͕ൃੜ͍ͯ͠Δ͕ɺ ωοτϫʔΫଳҬͷมԽྔ͕খ͍͞ͳͲ -
9 ੑೳҟৗʹର͢ΔϝτϦοΫͷܥྻͷ࣍ݩݮͷఏҊ త: ϚΠΫϩαʔϏεʹͯҟৗͷܦ࿏ΛࣗಈͰਪ͢ΔͨΊͷج൫ ఏҊ: ҟৗͷݕʹԠͯ͠ɺʮҰ࣌తʹʯஅʹ༗༻ͳܥྻΛશܥྻ͔ Βߴʹநग़͢Δ࣍ݩݮख๏ “TSifter” (Time series
Sifter) ɾᶃਖ਼֬ੑ :அʹ༗༻ͳܥྻ͕ݮ͞Ε͍ͯͳ͍ ɾᶄ࣍ݩݮ: ແ༻ͳܥྻΛͳΔ͘ଟ͘ݮ͍ͨ͠ ɾᶅߴੑ : ਝʹݪҼΛΈ͚͍ͭͨ (ཧ1ఔ) ܥྻʢ=࣍ݩʣ͕૿Ճ͢ΔͱҼՌൖάϥϑ͕ڊେԽ͢Δ 3ͭͷཁ݅ -
10 ࠷ऴతʹ࣮ݱ͍ͨ͠ݪҼஅγεςϜͷશମ૾ શܥྻ औಘ ܥྻͷ ࣍ݩݮ ݪҼஅ ࣌ܥྻ σʔλϕʔε ܥྻͷऩू
ҟৗݕ ఏҊख๏ͷείʔϓ YES Service A/ req_errors Service D/ connections Service E/ ܥྻؒͷҼՌͷܦ࿏ ᶃ ᶄ ᶅ ᶆ ᶇ ʢҼՌάϥϑߏஙʣ αʔϏε୯ҐͰ ࣍ݩݮ -
12 ఏҊख๏ TSifter ͷཁ݅ͱղܾ ᶃਖ਼֬ੑ ᶄ࣍ݩݮ ᶅߴੑ ಎ1 ಎ2 ҟৗൃੜલޙͰ࣌ܥྻͷ͕มԽ͠ͳ͍
ܥྻஅ࣌ʹෆཁ → ࣌ܥྻσʔλͷఆৗੑΛͭܥྻΛআ֎ ࣌ܥྻάϥϑͷܗঢ়͕ࣅ͍ͯΔܥྻ܈ҟ ৗͷஅ࣌ʹ → αʔϏε୯ҐͰ࣌ܥྻͷΫϥελϦϯά ܥྻnʹରͯ͠ΫϥελϦϯάॲཧ , ... → ಎ1ͷআ֎ॲཧ Λઌʹ࣮ߦ͢Δ O(kn) O(n2) O(n) -
13 TSifter: 2ஈ֊ͷ࣍ݩݮख๏ ɾɾɾ ɾɾɾ ɾɾɾ εςοϓ1 ఆৗੑΛͭ ܥྻΛআڈ ੜͷܥྻ
ඇఆৗͳܥྻ ΫϥελԽ͞Εͨܥྻ දܥྻ ҟৗظؒ ΫϥελϦϯάޙʹΫϥελ ͷදܥྻΛબ εςοϓ2 ྨࣅͷܗঢ়Λ ͱΔܥྻΛ ΫϥελϦϯά ҟৗൃੜલnͷ ݻఆͷΟϯυ෯ -
15 εςοϓ2: ܥྻؒͷܗঢ়ྨࣅੑʹண αʔϏεͷܥྻ܈ ܗঢ়ͷྨࣅੑΛද͢ڑई shape-based distance (SBD) Λ࠾༻ ʢ࣌ؒ࣠ํʹγϑτɺॎ࣠ʹ৳ॖ͍ͯͯ͠ྨࣅͱΈͳ͢ʣ
Paparrizos, J. and Gravano, L., k-Shape: Efficient and Accurate Clustering of Time Series,(SIGMOD2015) ߴԽͷͨΊɺ1ճͷॲཧͰΫϥελΛܾఆՄೳͳ֊తΫϥελϦϯάΛ࠾༻ ʢ ͕ͩɺ1αʔϏε͋ͨΓͷܥྻ͕খ͍ͨ͞ΊʹͳΒͳ͍ʣ O(n2) αʔϏεͷදܥྻ܈ Ϋϥελ දܥྻͷબ ଞͷܥྻͱͷڑͷ૯͕࠷খͷܥྻ -
17 ࣮ݧڥ ੍ޚαʔό Locust Kubernetes CPUෛՙೖ ωοτϫʔΫԆೖ ϚΠΫϩαʔϏεΫϥελ Front-End Catalogue
Orders Payment Shipping User Carts ղੳαʔό Prometheus ֎෦ෛՙͷ ੜ ܥྻऔಘϞδϡʔϧ stress-ng tc ղੳϞδϡʔϧ ܥྻऩूִؒ: 5ඵ ܥྻͷΟϯυ෯: 30 Intel Xeon 3.10GHz, 8core,32GB ܥྻͷऩूɾอଘ Sock Shop -
18 ϕʔεϥΠϯख๏: Sieve ɾεςοϓ1: ࢄͷখ͍͞ϝτϦοΫΛऔΓআ͘ ɾεςοϓ2: k-ShapeʹΑΔΫϥελϦϯά Thalheim, J., et
al., Sieve: Actionable Insights from Monitored Metrics in Distributed Systems, (Middleware 2017) ߃ৗతʹར༻ՄೳͳγεςϜͷಛΛநग़͢Δ͜ͱ͕తͰ͋Γɺຊ ݚڀͱత͕ҟͳΔ͕ɺҟͳΔతʹԠ༻Ͱ͖ΔՄೳੑ͕͋Δ ࣌ܥྻσʔλͷ࣍ݩݮख๏ Paparrizos, J. and Gravano, L., k-Shape: Efficient and Accurate Clustering of Time Series,(SIGMOD2015) -
21 ᶅߴੑͷධՁ: ֤ॲཧεςοϓͷ࣮ߦ࣌ؒ ɾCPUίΞ4ɺϝτϦοΫ100kͷڥ ɾTSifterϕʔεϥΠϯʹରͯ͠ɺ311ഒߴͱͳͬͨ ɾʢޙड़ͷՃ࣮ݧͰɺ࠷Ͱ270ഒߴʣ εςοϓ1 (sec) ࣄલআڈ εςοϓ2
(sec) ΫϥελϦϯά ߹ܭ࣮ߦ࣌ؒ (sec) TSifter 54.41 8.68 63.09 ϕʔεϥΠϯ 32.33 19590.83 19623.16 -
22 ɾ྆ख๏ͱʹɺCPUίΞ·ͨܥྻʹରͯ͠ɺઢܗʹεέʔϧ ᶅߴੑͷධՁ: εέʔϥϏϦςΟ TSifter ϕʔεϥΠϯ 0 20 40 60
20000 40000 60000 80000 100000 Execution time (sec) Number of metrics Clustering 1.21 2.43 3.81 5.72 8.68 Filtering 10.24 20.28 31.05 42.14 54.41 Total 11.45 22.71 34.86 47.86 63.09 0 5000 10000 15000 20000 20000 40000 60000 80000 100000 Execution time (sec) Number of metrics Clustering 3908.10 7773.00 11710.26 15670.81 19590.83 Filtering 2.88 7.63 13.54 22.91 32.33 Total 3910.98 7780.63 11723.80 15693.72 19623.16 0 200 400 600 800 1000 1200 1400 1 2 3 4 Execution time (sec) Number of CPU cores Clustering 1224.87 613.31 416.55 317.65 Filtering 0.17 0.17 0.17 0.17 Total 1225.04 613.48 416.72 317.82 0 1 2 3 4 1 2 3 4 Execution time (sec) Number of CPU cores Clustering 0.37 0.21 0.20 0.15 Filtering 3.57 1.81 1.26 0.99 Total 3.93 2.02 1.46 1.14 TSifter ϕʔεϥΠϯ -
23 ࣮ߦ࣌ؒ1Ҏ͕ཧͰ͋ΓɺϕʔεϥΠϯख๏ͷ࣮ߦ ࣌ؒ1225ඵʢ20ʣͰ͋ΓɺݱͰͷཁ݅Λຬͨͤͳ͍ ֤ཁ݅ʹର͢ΔධՁͷ·ͱΊ ᶃਖ਼֬ੑ ᶄ࣍ݩ ݮ ᶅߴੑ ࣮ݧͰɺαʔϏεͷछྨނোέʔε͕ݶఆతͳͨΊɺ ՃͷධՁ͕ඞཁ
࣍ݩݮϕʔεϥΠϯख๏͕Θ͔ͣʹ্ճΔ ࠷ऴతʹཁٻ͞ΕΔ࣍ݩݮͷఔࠓޙͷ՝ CPUίΞͱܥྻ͕มԽͯ͠ɺ྆ख๏ͷ࣮ߦ࣌ؒൺಉ