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
630
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
540
可能な限り確実にmkdirを成功させるには / Make mkdir
oogfranz
PRO
0
590
サイボウズ #Garoon 開発チームの 「 完成度低いの歓迎LT大会 」 PHPerKaigi出張版 / Low quality LT in PHPerKaigi 2023
oogfranz
PRO
0
580
20年ものの巨大プロダクトをKubernetesに移行している話 後日談/Garoon on Kubernetes after talk
oogfranz
PRO
0
580
20年ものの巨大プロダクトをKubernetesに移行している話/Garoon on Kubernetes
oogfranz
PRO
0
460
効果的な静的解析の CI導入パターンを求めて / Great static analysis with CI
oogfranz
PRO
3
3.7k
Dev-meets-Ops
oogfranz
PRO
1
1k
GitHub力の低い僕でも、 OSSコントリビュートできたワケ / GitHub Power
oogfranz
PRO
1
620
静的解析の育て方 / How to make your static analysis strong
oogfranz
PRO
3
3k
Other Decks in Technology
See All in Technology
AI Agentと MCP Serverで実現する iOSアプリの 自動テスト作成の効率化
spiderplus_cb
0
280
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
バイブコーディングと継続的デプロイメント
nwiizo
2
350
AIを導⼊しても、 開発⽣産性は"爆増"していない なぜ?
kinosuke01
4
3.6k
データエンジニアがこの先生きのこるには...?
10xinc
0
400
コンテキストエンジニアリングとは? 考え方と応用方法
findy_eventslides
4
810
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
110
非エンジニアのあなたもできる&もうやってる!コンテキストエンジニアリング
findy_eventslides
3
840
DataOpsNight#8_Terragruntを用いたスケーラブルなSnowflakeインフラ管理
roki18d
1
280
Windows で省エネ
murachiakira
0
140
今改めてServiceクラスについて考える 〜あるRails開発者の10年〜
joker1007
20
9k
Featured
See All Featured
Music & Morning Musume
bryan
46
6.8k
Faster Mobile Websites
deanohume
310
31k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Context Engineering - Making Every Token Count
addyosmani
3
140
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
560
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
Side Projects
sachag
455
43k
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ʹొ