Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPアプリケーションだってモニタリングしたい / Monitoring PHP applic...
Search
Yuichi Sugiyama
PRO
October 02, 2021
Technology
1
600
PHPアプリケーションだってモニタリングしたい / Monitoring PHP application
PHPConference 2021での発表資料です。
Yuichi Sugiyama
PRO
October 02, 2021
Tweet
Share
More Decks by Yuichi Sugiyama
See All by Yuichi Sugiyama
サイボウズ と Garoon と The PHP Foundation と 私 / Cybozu and Garoon and The PHP Foundation and me
oogfranz
PRO
1
500
可能な限り確実にmkdirを成功させるには / Make mkdir
oogfranz
PRO
0
500
サイボウズ #Garoon 開発チームの 「 完成度低いの歓迎LT大会 」 PHPerKaigi出張版 / Low quality LT in PHPerKaigi 2023
oogfranz
PRO
0
530
20年ものの巨大プロダクトをKubernetesに移行している話 後日談/Garoon on Kubernetes after talk
oogfranz
PRO
0
550
20年ものの巨大プロダクトをKubernetesに移行している話/Garoon on Kubernetes
oogfranz
PRO
0
430
効果的な静的解析の CI導入パターンを求めて / Great static analysis with CI
oogfranz
PRO
3
3.6k
Dev-meets-Ops
oogfranz
PRO
1
960
GitHub力の低い僕でも、 OSSコントリビュートできたワケ / GitHub Power
oogfranz
PRO
1
560
静的解析の育て方 / How to make your static analysis strong
oogfranz
PRO
3
2.8k
Other Decks in Technology
See All in Technology
AWS のポリシー言語 Cedar を活用した高速かつスケーラブルな認可技術の探求 #phperkaigi / PHPerKaigi 2025
ytaka23
3
610
モジュラーモノリスでスケーラブルなシステムを作る - BASE のリアーキテクチャのいま
panda_program
2
370
MLflowの現在と未来 / MLflow Present and Future
databricksjapan
1
190
RubyKaigi で得た課題解決法・美意識・モチベーション
morihirok
0
140
組織拡大でカルチャー崩壊を防ぐためにできること
urahiroshi
0
130
DIってなんだか難しい? 依存という概念を「使う・使われる」 という言葉で整理しよう
akinoriakatsuka
0
550
実践的なバグバウンティ入門 (2025年版)
scgajge12
4
860
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
770
パスキーでのログインを 実装してみよう!
hibiki_cube
0
120
心に火を灯すヒントは自分の中にある/The clue to lighting a fire in your heart is within you.
bitkey
1
120
もうVPNは古い? VPNを使わずに オンプレサーバーを 管理する手法あれこれ
ebibibi
0
150
大人の学び - マイクの持ち方について
kawaguti
PRO
3
640
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Being A Developer After 40
akosma
89
590k
Git: the NoSQL Database
bkeepers
PRO
429
65k
Rails Girls Zürich Keynote
gr2m
94
13k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Practical Orchestrator
shlominoach
186
10k
How STYLIGHT went responsive
nonsquared
99
5.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Embracing the Ebb and Flow
colly
84
4.6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
PHPΞϓϦέʔγϣϯͩͬͯ ϞχλϦϯά͍ͨ͠ɻ PHPConference 2021 αΠϘζגࣜձࣾɹਿࢁ ༞Ұ @oogFranz #phpcon2021 #track3
Discord Channel: #track3-2-a-php-monitor
Whoami • ਿࢁ ༞Ұ @oogFranz • αΠϘζ7ΤϯδχΞ • େاۀ͚άϧʔϓΣΞGaroon(Ψϧʔϯ) ࡞ͬͯΔ
• ෳۀδϟζϛϡʔδγϟϯ@MASHݭָஂ
αΠϘζ Garoon • େاۀ͚ͷάϧʔϓΣΞ • ੜ࢈ੑɾνʔϜϫʔΫ্ͷࢧԉ • ύοέʔδ൛ͱΫϥυ൛͕͋Δ
We're sorry for...
We're sorry for... • োʹͯ͝໎Λ͓͔͚ͨ͠Έͳ͞·ɺ͝ΊΜͳ͍͞ • ࢹɾରࡦɾௐࠪɾମ੍Λʑվળ • վળ·ͩ·ͩಓ •
αΠϘζͱGaroonΛ͘ΑΖ͓͘͠ئ͍͠·͢ • ͜ͷൃදͷάϥϑίʔυɺ෦ใΛؚ·ͳ͍Α͏ʹ͢ΔͨΊɺ ·ͨઆ໌ͷͨΊʹɺ࣮ࡍͷͷͱҰ෦ҟͳΔ͕͋Γ·͢ɻ
cybozu.comͷαϒυϝΠϯ mash.cybozu.com bluegrass.cybozu.com banana.cybozu.com monopockle.cybozu.com
cybozu.comͷαϒυϝΠϯ mash.cybozu.com bluegrass.cybozu.com banana.cybozu.com monopockle.cybozu.com Ϣʔβʔ͝ͱʹαϒυϝΠϯΛ͚ΒΕΔ
cybozu.comͷߏ • ΞϓϦέʔγϣϯΛෳͷαʔόʔ(VM)Ͱಈ͔͍ͯ͠Δ ʢΞϓϦέʔγϣϯɾσʔλϕʔεɾϑΝΠϧɾetc.ʣ • Ϛϧνςφϯτͷߏ • ෳͷαʔόʔͷηοτͰෳͷυϝΠϯΛಈ͔͍ͯ͠Δ
cybozu.comͷαϒυϝΠϯ 9 mash.cybozu.com bluegrass.cybozu.com banana.cybozu.com monopockle.cybozu.com /HJOY͕֤αΠϘζʹϦόʔεϓϩΩγ͍ͯ͠Δ
cybozu.comͷαϒυϝΠϯ mash.cybozu.com bluegrass.cybozu.com banana.cybozu.com monopockle.cybozu.com োൃੜʂ
cybozu.comͷαϒυϝΠϯ mash.cybozu.com bluegrass.cybozu.com banana.cybozu.com monopockle.cybozu.com োൃੜʂ ো͕ൃੜ͢ΔͱͲ͏ͳΔʁ
Ϣʔβʔ͔Β ి͕͘Δ
Ϣʔβʔ͔ΒిΛ͍ͨͩ͘·Ͱ ΤϯυϢʔβʔ ཧऀ ΧελϚʔαϙʔτ ։ൃνʔϜ αΠϘζ Ϣʔβʔاۀ োൃੜʂ
Ϣʔβʔ͔ΒిΛ͍ͨͩ͘·Ͱ ΤϯυϢʔβʔ ཧऀ ΧελϚʔαϙʔτ ։ൃνʔϜ αΠϘζ Ϣʔβʔاۀ ΤϯυϢʔβʔཧऀʹ͓͍߹ΘͤΛ͢Δ
Ϣʔβʔ͔ΒిΛ͍ͨͩ͘·Ͱ ΤϯυϢʔβʔ ཧऀ ΧελϚʔαϙʔτ ։ൃνʔϜ αΠϘζ Ϣʔβʔاۀ ཧऀαϙʔτʹ͓͍߹ΘͤΛ͢Δ
Ϣʔβʔ͔ΒిΛ͍ͨͩ͘·Ͱ ΤϯυϢʔβʔ ཧऀ ΧελϚʔαϙʔτ ։ൃνʔϜ αΠϘζ Ϣʔβʔاۀ αϙʔτ։ൃνʔϜʹΤεΧ͢Δ
ిͰোʹؾ͕ͭ͘·Ͱʹ • ΤϯυϢʔβʔ࣌ؒΛ͓͍ͯ͏Ұࢼͦ͏ͱߟ͑Δ͔͠Εͳ͍ • ཧऀͨ͘͞ΜͷΤϯυϢʔβʔ͔Βͷ͍߹ΘͤΛ·ͱΊͯ͘Ε͍ͯΔ͔͠Εͳ͍ • ཧऀࣗࣾଆͷͰͳ͍͔֬ೝ͔ͯ͠Β αϙʔτʹ͍߹ΘͤΑ͏ͱߟ͑Δ͔͠Εͳ͍ •
αϙʔτ࠶ݱͰ͖Δෆ۩߹͔Λௐࠪ͢Δ͕͔͔࣌ؒΔ • αϙʔτطଘͷෆ۩߹Ͱͳ͍͔Λௐࠪ͢Δ͕͔͔࣌ؒΔ • etc.
ిͰোʹؾ͕ͭ͘·Ͱʹ • ΤϯυϢʔβʔ࣌ؒΛ͓͍ͯ͏Ұࢼͦ͏ͱߟ͑Δ͔͠Εͳ͍ • ཧऀͨ͘͞ΜͷΤϯυϢʔβʔ͔Βͷ͍߹ΘͤΛ·ͱΊͯ͘Ε͍ͯΔ͔͠Εͳ͍ • ཧऀࣗࣾଆͷͰͳ͍͔֬ೝ͔ͯ͠Β αϙʔτʹ͍߹ΘͤΑ͏ͱߟ͑Δ͔͠Εͳ͍ •
αϙʔτ࠶ݱͰ͖Δෆ۩߹͔Λௐࠪ͢Δ͕͔͔࣌ؒΔ • αϙʔτطଘͷෆ۩߹Ͱͳ͍͔Λௐࠪ͢Δ͕͔͔࣌ؒΔ • etc. ։ൃνʔϜ͕োʹؾ͕ͭ͘·ͰʹλΠϜϥά͕ൃੜ͢Δ
োʹؾ͕ͭ͘ͷ͕ΕΕ • ରԠΕΔ • ෮چ·Ͱͷ࣌ؒԆͼΔ • ಉ͡োʹͨΔϢʔβʔ͕૿͑Δ • ͍߹Θͤͦͷ૿͑Δ •
ॳΊʹোʹ໘ͨ͠ϢʔβʔͣͬͱαʔϏε͕ར༻Ͱ͖ͳ͍
োʹؾ͕ͭ͘ͷ͕ΕΕ • ରԠΕΔ • ෮چ·Ͱͷ࣌ؒԆͼΔ • ಉ͡োʹͨΔϢʔβʔ͕૿͑Δ • ͍߹Θͤͦͷ૿͑Δ •
ॳΊʹোʹ໘ͨ͠ϢʔβʔͣͬͱαʔϏε͕ར༻Ͱ͖ͳ͍ ࣄޙରԠͰϢʔβʔʹ໎Λ͔͚ͯ͠·͏
োʹؾ͕ͭ͘ͷ͕ΕΕ • ରԠΕΔ • ෮چ·Ͱͷ࣌ؒԆͼΔ • ಉ͡োʹͨΔϢʔβʔ͕૿͑Δ • ͍߹Θͤͦͷ૿͑Δ •
ॳΊʹোʹ໘ͨ͠ϢʔβʔͣͬͱαʔϏε͕ར༻Ͱ͖ͳ͍ αʔϏεΛࢹͯ͠ɺোʹઌʹૣ͘ؾ͕ͭ͜͏
ͦͦোͱʁ
ϢʔβʔઢͰͷোͷྨ • ར༻Ͱ͖ͳ͍ൣғ • ͳʹ͔ͭ͑ͳ͍ • ಛఆͷػೳͷΈ • ಛఆͷૢ࡞ͷΈ •
ಛఆͷ࣌ؒଳͷΈ • ར༻Ͱ͖ͳ͍ঢ়گ • ϨεϙϯελΠϜ͕͍ • Τϥʔ͕ฦͬͯ͘Δ • εϧʔϓοτ͕Ͱͳ͍ • ఆͨ͠ಈ࡞͕ฦͬͯ͜ͳ͍
։ൃઢͰͷোͷྨ • ൃੜൣғ • શαʔϏε • ಛఆαʔόʔ • ಛఆυϝΠϯ •
ಛఆϢʔβʔ • ൃੜݪҼ • ϋʔυΣΞোʢߴෛՙɾαʔόμϯʣ • ιϑτΣΞোʢෆ۩߹ɾ༷ɾఆ֎ͷར༻ʣ • σʔλىҼͷো • ࡞ۀϛε
োͱҰޱʹݴͬͯ • Ͳͷঢ়ଶ͕োʹͳΔ͔αʔϏεʹΑͬͯҟͳΔ • ϞχλʔɾϩάɾϝτϦΫεͷݱΕํҟͳΔ
োͱҰޱʹݴͬͯ • Ͳͷঢ়ଶ͕োʹͳΔ͔αʔϏεʹΑͬͯҟͳΔ • ϞχλʔɾϩάɾϝτϦΫεͷݱΕํҟͳΔ ݕ͍ͨ͠োʹ߹ΘͤͯࢹΛ࢝ΊΑ͏
SLO (Service Level Objective) • cybozu.comʹՔಇ99.99%ͱ͍͏SLO͕͋Δɻ • ͔͠͠ͳ͕ΒɺGaroonϨϕϧͰSLOͳ͔ͬͨ • ʮGaroon͕͍ʯͱ͍͏͓͍߹Θ͕ͤ͋ͬͯɺ
োͳͷ͔ͷஅ͕͙͢ʹͰ͖ͳ͍ɻ • SREαϙʔτɺӦۀͱ͍ͬͨଞͷνʔϜͱɺ Ͳͷ͘Β͍ٸ͍ͰରԠ͖͔͢ɺͷೝ͕ࣝἧ͑ΒΕͳ͍ https://www.cybozu.com/jp/infrastructure/slo.html
ʮຖே࢝ۀޙʹϝʔϧΛ։͜͏ͱ͢ΔͱɺҰ෦ͷࣾһ͚ͩ ΊͪΌͪ͘Ό͘ͳΔͷ͚ͩͲʯ ྫ͑͜Μͳ͓͍߹Θͤ
ʮຖே࢝ۀޙʹϝʔϧΛ։͜͏ͱ͢ΔͱɺҰ෦ͷࣾһ͚ͩ ΊͪΌͪ͘Ό͘ͳΔͷ͚ͩͲʯ ྫ͑͜Μͳ͓͍߹Θͤ ಛఆͷ࣌ؒଳͷΈ
ʮຖே࢝ۀޙʹϝʔϧΛ։͜͏ͱ͢ΔͱɺҰ෦ͷࣾһ͚ͩ ΊͪΌͪ͘Ό͘ͳΔͷ͚ͩͲʯ ྫ͑͜Μͳ͓͍߹Θͤ ಛఆͷ࣌ؒଳͷΈ ಛఆͷૢ࡞ͷΈ
ʮຖே࢝ۀޙʹϝʔϧΛ։͜͏ͱ͢ΔͱɺҰ෦ͷࣾһ͚ͩ ΊͪΌͪ͘Ό͘ͳΔͷ͚ͩͲʯ ಛఆͷ࣌ؒଳͷΈ ಛఆͷૢ࡞ͷΈ ಛఆͷϢʔβʔͷΈ ྫ͑͜Μͳ͓͍߹Θͤ
ಛఆͷૢ࡞ͷΈ ಛఆͷ࣌ؒଳͷΈ ʮຖே࢝ۀޙʹϝʔϧΛ։͜͏ͱ͢ΔͱɺҰ෦ͷࣾһ͚ͩ ΊͪΌͪ͘Ό͘ͳΔͷ͚ͩͲʯ ಛఆͷϢʔβʔͷΈ ϨεϙϯελΠϜ͕͍ ྫ͑͜Μͳ͓͍߹Θͤ
ಛఆͷૢ࡞ͷΈ ಛఆͷ࣌ؒଳͷΈ ʮຖே࢝ۀޙʹϝʔϧΛ։͜͏ͱ͢ΔͱɺҰ෦ͷࣾһ͚ͩ ΊͪΌͪ͘Ό͘ͳΔͷ͚ͩͲʯ ಛఆͷϢʔβʔͷΈ ϨεϙϯελΠϜ͕͍ ྫ͑͜Μͳ͓͍߹Θͤ ΞΫηεϩάͰผͰ͖ͦ͏
cybozu.comͷΞΫηεϩά • ϩάͷղੳʹࢄΫΤϦΤϯδϯͷPresto Λ • UIͰΫΤϦΛ࣮ߦ͢ΔͨΊ Redash Λར༻͍ͯ͠Δ αΠϘζͷϩάج൫
2018൛ΑΓ https://blog.cybozu.io/entry/2018/03/19/080000
োൃੜ࣌ͷαʔόʔ͝ͱͷ ϨεϙϯελΠϜͷਪҠΛΈΔ
server 11 server 24 server 41 server 59 server
13 server 21 server 32 server 17 server 12 server 98 োൃੜ࣌ͷαʔόʔ͝ͱͷ ϨεϙϯελΠϜͷਪҠΛΈΔ
server 11 server 24 server 41 server 59 server
13 server 21 server 32 server 17 server 12 server 98 োൃੜ࣌ͷαʔόʔ͝ͱͷ ϨεϙϯελΠϜͷਪҠΛΈΔ োͩʂ
• σʔλΛঢॱʹฒͨͱ͖ʹɺશମͷN ˋͷҐஔʹ͋Δ • ֎ΕΛແࢹͯ͠େ෦ͷϢʔβʔʹͲ͏͔ͩͬͨΛݟΔͷʹ ͍͍ͯΔ • Presto ʹύʔηϯλΠϧͷ֓ࢉΛૉૣ͘ٻΊΔ͕ؔ͋Δ ύʔηϯλΠϧ
approx_percentile(response_time, 0.95)
ύʔηϯλΠϧΛͲ͜ʹઃఆ͢Δ͔ʁ • োΛݕ͢Δ͚ͩͳΒߴ͍ͷ΄͏͕ɺݕ͍͢͠ • γεςϜ͕݈શʹಈ࡞͍ͯ͠Δ͜ͱΛΓ͍ͨͷͰ͋Ε ͍ͷํ͕ద͍ͯ͠Δ͜ͱ͋Δ • ࠓͷGaroonͰ99%λΠϧͰ30ඵɺ95ˋλΠϧͰ4ඵɺ 85%λΠϧͰ2ඵɺͱ͍͏Α͏ʹઃఆ͍ͯ͠Δ
୯७ͳᮢͰোΛΈ͚ͭΒΕΔ͔ʁ • ୯७ʹᮢΛ͑ͨͱ͜Ζ͔ΒোΛݕ͠Α͏ͱ͢Δ ͱɺِཅੑ͕ଟ͘ͳΔ • ूܭൣғ͕ͤ·͍ͱগͷΞΫηεʹҾͬுΒΕͯ͠·͏ • ͘ͳΓ͍͢ΞΫηεଘࡏ͢Δ
ूܭൣғ • 95%λΠϧͰूܭൣғʹ20ΞΫηε͔͠ͳ͚Εɺ 1൪͍ΞΫηεͷ͕༻͍ΒΕΔ • ूܭൣғ͕ڱ͍ͱɺগͳ͍ΞΫηεʹҾͬுΒΕΔ • ΞΫηε͕গͳ͍߹ͦͦແࢹ͢Δͷ͋Γ
Ͳͷ࣌ؒΠϯυ෯Ͱूܭ͢Δ͔ʁ • ͍Πϯυ෯Ͱूܭ͢Δɿ • ͘͢োΛݕͰ͖Δ • ॠஅͷোݕͰ͖Δ • গͳ͍ΞΫηεʹҾͬுΒΕ ͍͢
• ͍Πϯυ෯Ͱूܭ͢Δɿ • োݕ࣌ؒʹϥά͕ͰΔ • ॠஅͷোΛݕͰ͖ͳ͘ͳΔ • গͳ͍ΞΫηεʹӨڹ͞Εͳ͘ ͳΔ
ूܭൣғ • αʔϏεશମ • αʔόʔ͝ͱ • υϝΠϯ͝ͱ • Ϣʔβʔ͝ͱ
ूܭൣғ • αʔϏεશମ • αʔόʔ͝ͱ • υϝΠϯ͝ͱ • Ϣʔβʔ͝ͱ
খ͍͞ൣғͰͷো͕ ݕ͠ʹ͍͘ খ͍͞ൣғͰͷো͕ ݕՄೳ ϊΠζ͕ଟ͘ͳΔ ϊΠζ͕গͳ͘ͳΔ
͘ͳΓ͍͢ΞΫηε • ͯ͘ͷͳ͍ΞΫηε͋Δ • ϑΝΠϧΞοϓϩʔυɾμϯϩʔυ • APIͰͷҰׅऔಘ • CSVॻ͖ग़͠ •
etc...
͘ͳΓ͍͢ΞΫηε • ͯ͘ͷͳ͍ΞΫηε͋Δ • ϑΝΠϧΞοϓϩʔυɾμϯϩʔυ • APIͰͷҰׅऔಘ • CSVॻ͖ग़͠ •
etc... ੑ࣭͝ͱʹผʑʹࢹ͢Δඞཁ͕͋Δ
োΛͣ͞ݕͰ͖Δ͔ʁ • ϨεϙϯελΠϜ͋͘·Ͱɻ • ݕ͍ͨ͠ͷϢʔβʔʹෆརӹͳঢ়گ͕ൃੜ͍ͯ͠ ͳ͍͔Ͳ͏͔ • ϢʔβʔͷͨΊʹͳΔஅج४͕ඞཁ
Apple Watch • ߴ৺ഥɾ৺ഥɾෆنଇͳ৺ഥΛ௨ͯ͘͠ΕΔ • ৺ࡉಈʹΑΔෆنଇͳ৺ഥΛૣظʹݟ͚ͭΒΕΔ͜ ͱ͕ظͰ͖Δ https://support.apple.com/ja-jp/HT208931
Apple Watch • ߴ৺ഥɾ৺ഥɾෆنଇͳ৺ഥΛ௨ͯ͘͠ΕΔ • ৺ࡉಈʹΑΔෆنଇͳ৺ഥΛૣظʹݟ͚ͭΒΕΔ͜ ͱ͕ظͰ͖Δ https://support.apple.com/ja-jp/HT208931
Apple Watch • ߴ৺ഥɾ৺ഥɾෆنଇͳ৺ഥΛ௨ͯ͘͠ΕΔ • ৺ࡉಈʹΑΔෆنଇͳ৺ഥΛૣظʹݟ͚ͭΒΕΔ͜ ͱ͕ظͰ͖Δ https://support.apple.com/ja-jp/HT208931 োݕʹ͓͍ͯɺશͳݕͳ͍ͱ೦಄ʹஔ͘ඞཁ͋Δ
োީิΛه ఆظతʹ3FEBTIͰΫΤϦΛ࣮ߦ ᮢΛӽ͑ͨΞΫηεΛ োީิͱͯ͠ه
RedashͷRefresh Schedule • Redash ͷΫΤϦΛఆظతʹ
Garoon PerformanceΞϓϦ
Garoon PerformanceΞϓϦ ͲͷαʔόʔͰͲͷ͘Β͍Քಇঢ়گ͕ѱԽ͍ͯ͠Δ͔͕Θ͔Δ
·ͱΊ • αʔόʔϨϕϧͰͳ͘ΞϓϦέʔγϣϯϨϕϧͰ ࢹΛ͡ΊΑ͏ • SLOϢʔβʔͷͨΊʹཱͯΔ • ࢹ͢Δൣғ͗ͣ͢ɾڱ͗ͣ͢ߦ͓͏ • োσʔλΛͱʹٞΛ͠Α͏
ΤϥʔΛݕ • ϦϦʔεޙʹ৽ͨͳΤϥʔ͕ൃੜ͢Δέʔε͕ଟൃ • Garoon PHPΤϥʔ͕͋Δͱɺ༧ظͤ͵Τϥʔͱ͢Δ • σʔλෆ߹ͳͲͰɺ༧ظͤ͵ΤϥʔΛશʹͳ͘͢ͷ ࠔ 9
ΤϥʔͷൃੜΛϩάʹه • Τϥʔൃੜ࣌ Header ʹ Τϥʔ൪߸Λه • Nginx ͰΞΫηεϩάʹు͘Α͏ʹ͢Δ •
RedashͰͷղੳ͕ՄೳʹͳΔ 9
৽ͨͳΤϥʔΛݕ 9 ఆظతʹΫΤϦΛ࣮ߦ ͍··Ͱݕͨ͜͠ͱͷͳ͍ Τϥʔ͕͋ͬͨΒLJOUPOFʹొ