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
大規模Webサービス入門 14回目 / Introduction to large scale...
Search
muttan
August 31, 2017
Technology
0
150
大規模Webサービス入門 14回目 / Introduction to large scale web service 14
muttan
August 31, 2017
Tweet
Share
More Decks by muttan
See All by muttan
さわやか待ち時間LINE botを作った話 / Sawayaka LINE bot
bath_poo_
0
110
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
170
ISUCONってなんだ / What is ISUCON
bath_poo_
0
360
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
190
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
160
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
260
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
140
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
220
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
250
Other Decks in Technology
See All in Technology
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
1.7k
『HOWはWHY WHATで判断せよ』 〜『ドメイン駆動設計をはじめよう』の読了報告と、本質への探求〜
panda728
PRO
5
2k
Post-AIコーディング時代のエンジニア生存戦略
shinoyu
0
290
Spring Boot利用を前提としたJavaライブラリ開発方法の提案
kokihoshihara
PRO
2
240
AIを前提に、業務を”再構築”せよ IVRyの9ヶ月にわたる挑戦と未来の働き方 (BTCONJP2025)
yueda256
1
770
米軍Platform One / Black Pearlに学ぶ極限環境DevSecOps
jyoshise
2
480
ステートレスなLLMでステートフルなAI agentを作る - YAPC::Fukuoka 2025
gfx
8
1.3k
「もっと正確に、もっと効率的に」ANDPADの写真書き込み機能における、 現場の声を形にしたエンハンス
andpad
0
110
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
4
340
バクラクの AI-BPO を支える AI エージェント 〜とそれを支える Bet AI Guild〜
tomoaki25
2
780
Proxmox × HCP Terraformで始めるお家プライベートクラウド
lamaglama39
1
210
Error.prototype.stack の今と未来
progfay
1
180
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Embracing the Ebb and Flow
colly
88
4.9k
Bash Introduction
62gerente
615
210k
Context Engineering - Making Every Token Count
addyosmani
10
390
Transcript
େنαʔϏεٕज़ೖ ୈ14ճ ISUCONରࡦษڧձ 2017/8/31
ୈ14ճ ޮ্࡞ઓ - ϋʔυΣΞͷϦιʔεͷ༻Λ্͛Δ -
ԾԽٕज़ɾࣗ࡞αʔό • Ұൠతʹ, ԽΛਐΊΔͱϦιʔεͷ༻ Լ͢Δ. ‣ ن͕খ͚͞Εখ͍͞΄ͲݦஶʹͳΔ ‣ αʔό͕2, 3ͷγεςϜʹ1,
2ͷ༨༟Λͨ ͤΑ͏ͱ͢Δͱ, Ϧιʔε༻େ͖͘མͪΔ
ԾԽٕज़ɾࣗ࡞αʔό • Λղܾ͢ΔͨΊʹ, ҎԼͷ2ͭΛߦͳ͏. 1. ԾԽٕज़ ‣ ϗετͷूੵΛ্ঢͤ͞Δ. 2. ࣗ࡞αʔό
‣ ࠷దͳߏͰͷαʔόΛߏ͢Δ.
Lesson 36 ԾԽٕज़
ԾԽٕज़ͷಋೖ
ԾԽٕज़ͷಋೖͷత • εέʔϥϏϦςΟ ˠ Φʔόʔϔουͷ࠷খԽ • ίετύϑΥʔϚϯε ˠ Ϧιʔε༻ͷ্ɾӡ༻ͷ୯७Խ •
ߴՄ༻ੑ ˠ ڥͷִ
ԾԽٕज़ͷಋೖͷత • εέʔϥϏϦςΟ ˠ Φʔόʔϔουͷ࠷খԽ • ίετύϑΥʔϚϯε ˠ Ϧιʔε༻ͷ্ɾӡ༻ͷ୯७Խ •
ߴՄ༻ੑ ˠ ڥͷִ
ԾԽٕज़ͷಋೖ • ࢢʹ༷ʑͳԾԽͷ͕͋Δ. • Xen • VMWare • Parallels •
etc..
ԾԽٕज़ͷޮ༻
ԾԽٕज़ͷޮ༻ 1. IPMIͷସͱͯ͠ͷϋΠύʔόΠβ 2. ϋʔυࠩͷٵऩ 3. ४ԾԽΛ༻ 4. Ϧιʔεফඅͷ੍ޚ
IPMIͷସͱͯ͠ͷϋΠύʔόΠβ • ϕϯμͷαʔόʹ, IPMI(Intelligent Platform Management Interface)͕උΘ͍ͬͯΔ. ‣ ϦϞʔτͰγεςϜΛཧ(ON, OFFͱ͔)͢Δͨ
Ίͷඪ४ΠϯλϑΣʔεͰ͋Δ. ‣ ϕϯμOSؒʹґଘ͢Δ͜ͱͳ͘ૢ࡞͢ΔͨΊ ͷΠϯλϑΣʔε
IPMIͷସͱͯ͠ͷϋΠύʔόΠβ • ϋΠύʔόΠβʔ͍ΘΏΔϗετOS ‣ ϗετOS αʔό্Ͱ࠷ॳʹىಈ͢ΔOS ‣ ήετOS ϗετOS্Ͱىಈ͢ΔOS
IPMIͷସͱͯ͠ͷϋΠύʔόΠβ • ڱٛͷϋΠύʔόΠβʔ(Xen) ϋʔυΣΞ্ͰϓϩάϥϜΛՔಇ͢Δํ ࣜ • ٛͷϋΠύʔόΠβʔ(VMWare) OS্ͰΞϓϦέʔγϣϯιϑτͱͯ͠Քಇ͠ɺ ͦͷ্Ͱ༷ʑͳOSΛಈ࡞Ͱ͖ΔΑ͏ʹ͢Δͷ Ҿ༻ɿhttps://www.idcf.jp/words/hypervisor.html
IPMIͷସͱͯ͠ͷϋΠύʔόΠβ • IPMIͷΘΓʹϋΠύʔόΠβΛར༻͢Δ. ‣ IPMI͕ࡌ͞Ε͍ͯͳ͍҆ՁͳϋʔυΣ ΞΛͬͯαʔόΛߏங͢Δࣄ͕Ͱ͖Δ.
ϋʔυࠩͷٵऩ • ڥΛநԽ͍ͯ͠Δ. ‣ ৽͍͠ϋʔυݹ͍ϋʔυͰࠩΛؾʹ ͤͣʹ༻͢Δ͜ͱ͕ग़དྷΔ.
४ԾԽͷ༻ • XenʹಛԽͨ͠ • ४ԾԽͱશԾԽͱݴ͏ͷ͕ଘࡏͯ͠ ͍Δ. • ࠓճ४ԾԽ
४ԾԽͷ༻ • શԾԽιϑτΣΞͰϋʔυΣΞΛ શʹγϛϡϨʔτ͢Δ. ‣ Φʔόʔϔου͕͋ΔͨΊಈ࡞͍·͍ͪ • ४ԾԽ, ޮͷྑ͍ԾϋʔυΛ࠶ఆٛ͢Δ. ‣
OSϨϕϧͰमਖ਼Λߦ͏ඞཁ͕͋Δ.
४ԾԽͷ༻ • ಋೖίετ શԾԽʼ४ԾԽ • ύϑΥʔϚϯε શԾԽʻ४ԾԽ
Ϧιʔεফඅͷ੍ޚ • ϦιʔεফඅΛιϑτΣΞϨϕϧͰڧྗʹ ੍ޚ͢Δࣄ͕Մೳ. ‣ monitͱ͍͏ϦιʔεཧπʔϧΛ͏ ‣ ʮաෛՙͷΞϥʔτʯͱʮෛՙͷௐʯΛ ߦͳ͏
Ϧιʔεফඅͷ੍ޚ • πʔϧͰҎԼͷΑ͏ͳ͜ͱΛࣗಈԽ ‣ աෛՙ࣌ʹ࠶ىಈΛߦͳ͏. ‣ ϩʔυΞϕϨʔδ, ίωΫγϣϯ, ϝϞϦফඅ ྔͷࢹ.
‣ ᮢΛ͑ͨΒApacheͷ࠶ىಈ
Ϧιʔεফඅͷ੍ޚ • πʔϧͰҎԼͷΑ͏ͳ͜ͱΛࣗಈԽ ‣ աෛՙ࣌ʹ࠶ىಈΛߦͳ͏. ‣ ϩʔυΞϕϨʔδ, ίωΫγϣϯ, ϝϞϦফඅ ྔͷࢹ.
‣ ᮢΛ͑ͨΒApacheͷ࠶ىಈ
ԾԽαʔόͷߏஙϙϦγʔ
ԾԽαʔόͷߏஙϙϦγʔ • ԾԽٕज़ͷ1൪ͷత ˠ ϋʔυΣΞϦιʔεͷར༻ޮ্ • ۭ͍͍ͯΔϦιʔεΛ͏ήετOSΛೖΕΔ • ͲͷΑ͏ͳαʔόΛಋೖ͢Δ͔
ԾԽαʔόͷߏஙϙϦγʔ • CPUϦιʔε͕ۭ͍͍ͯΔ ˠ Webαʔό • I/OϦιʔε͕ۭ͍͍ͯΔ ˠ DBαʔό •
ϝϞϦϦιʔε͕ۭ͍͍ͯΔ ˠ Ωϟογϡαʔό Ϧιʔεͷফඅ͕ࣅ͍ͯΔͷಉ࢜ڞଘͤ͞ͳ͍΄͏͕ྑ͍.
ԾԽαʔό(Webαʔό)ͷྫ • 4GBͷϝϞϦΛࡌ͍ͯ͠Δαʔό͕͋ͬͨ ͱ͖, 3.5GBΛWebαʔό༻ͷήετOSʹׂ Γ͍ͯͯΔͱ͢Δ. • ࠷ۙجຊ8GBͰߏ͢ΔͷͰ, ήετ OS(Webαʔό)Λ5.5GB,
ήετ OS(memcached༻)ʹ2GBׂΓͯΔ.
ԾԽαʔό(Webαʔό)ͷྫ 8FCαʔό ϝϞϦɿ4GB Dom0ɿ0.5GB WebSVɿ3.5GB WebαʔόओʹCPUΛফඅ 8FCαʔό Ωϟογϡαʔό ϝϞϦɿ8GB Dom0ɿ0.5GB
WebSVɿ5.5GB Cashɿ2GB ΩϟογϡαʔόओʹϝϞϦΛফඅ
ԾԽαʔό(DBαʔό)ͷྫ • DBαʔόͷಛ ‣ ϝϞϦফඅ͢Δ. ‣ CPUϦιʔεͱI/OϦιʔεͦΕ΄Ͳফඅ͠ͳ͍. → Webαʔό༻ͷήετOSΛಉډͤͯ͞, I/Oͱ
CPUϦιʔεΛ͏͜ͱͰϦιʔε༻ޮΛ্ ͛Δ.
ԾԽαʔό(DBαʔό)ͷྫ %#αʔό ϝϞϦɿ4GB Dom0ɿ0.5GB WebSVɿ3.5GB DBαʔόI/Oෛՙ͕ߴ͍ %#αʔό 8FCαʔό ϝϞϦɿ8GB Dom0ɿ0.5GB
WebSVɿ5.5GB Cashɿ2GB WebαʔόCPUϦιʔεΛফඅ
ԾԽʹΑͬͯಘΒΕͨ ϝϦοτͷখ·ͱΊ
ԾԽͷϝϦοτখ·ͱΊ • ཧతͳϦιʔε੍͔Βͷ։์ ‣ Ϧιʔεͷಈతͳมߋ VMͷϚΠάϨʔγϣϯෳ → ༰қͳαʔό૿ઃ ͞ΒͳΔεέʔϥϏϦςΟ →
ϋʔυΣΞɾӡ༻ίετͷԼ ҟৗಈ࡞࣌ͷہॴԽɾϗετͷ੍ޚ͕༰қ → ίεύͷ্ɺߴՄ༻ੑ
ԾԽͷҙ
ԾԽͷσϝϦοτ • ύϑΥʔϚϯε্ͷΦʔόʔϔου͕͋Δ. • CPUͰ2ʙ3% • ϝϞϦੑೳͷ10% • ωοτϫʔΫੑೳͷ50% •
I/Oੑೳ͕5%͘Β͍མͪΔ • ಈ࡞͕ෆ҆ఆʢωοτϫʔΫͳͲʣ
Lesson 37 ϋʔυΣΞͱޮ্ - ίετΛ࣮ݱ͢Δཁૉٕज़ -
ϓϩηοαͷੑೳ্
ϓϩηοαͷੑೳ্ • ʮूੵճ࿏্ͷτϥϯδελ18ϲ݄͝ͱ ʹഒʹͳΔʢϜʔΞͷ๏ଇʣ Ҿ༻ɿhttps://www.semiconportal.com/archive/blog/insiders/oowada/post-205.html
ϓϩηοαͷੑೳ্ • ϜʔΞͷ๏ଇτϥϯδελूੵͷͰ͋Γ, ٕज़తʹ·ͩ·ͩ৳ͼ͍ͯΔ • ίΞ୯ମͰͷੑೳݶք͕དྷ͍ͯΔͱߟ͑ΒΕ ͍ͯΔ͕, ϝχʔίΞ͕ͨΓલͱͳ͓ͬͯΓ, ͜Ε͔Β૿͑ΔΜͩΖ͏. •
࠷ۙAMD͕Ξπ͍
ϝϞϦɾHDDͷίετԼ
ϝϞϦɾHDDͷίετԼ • ϝϞϦɾHDD҆͘ͳ͍ͬͯΔʢେӕʣ ‣ 2007 2GBͰ3ສԁ ‣ 2010 2GB*2Ͱ5ઍԁఔ ‣
2017 4GB1ຕͰ4100ԁ͙Β͍͔Β…
ϝϞϦɾHDDՁ֨ͷਪҠ http://www2s.biglobe.ne.jp/~sakharov/research/graph.html
ϝϞϦɾHDDՁ֨ͷਪҠ • ϝϞϦ্͕Γ͍ͯ͠Δ. • http://akiba-pc.watch.impress.co.jp/docs/ price/monthly_repo/1072428.html • NANDͷڙڅෆͬΆ͍ʁ • HDDՁ͕֨Լ͕͍ͬͯΔ.
҆Ձͳϋʔυͷ༗ޮར༻
҆Ձͳϋʔυͷ༗ޮར༻ • ཧػೳΛ࠷খݶʹ • ίΞͰ͖Δ͚ͩଟ͘ͷͷΛ • ϝϞϦ͍҆(ཁग़య)ͷͰΨϯΨϯੵΉ • I/OٻΊΒΕΔཁ݅ʹΑͬͯม͑Δ •
σΟεΫϨεαʔό • RAID10(RAID1+RAID0), SSDͰRAID0(ετϥΠϐϯά)
҆Ձͳϋʔυͷ༗ޮར༻ • IPMIΛࡌ͢Δͱ, 1ʙ2ສԁ΄Ͳߴ͘ͳΔ. ‣ Intel AMTͰସ ‣ ԾԽ(ϋΠύʔόΠβʔ)Ͱཧ͢Δ
SSDͷ׆༻Օॴ • ͯͳͰ, DBͷεϨʔϒαʔόͰΘΕΔ͜ͱ ͕ଟ͍. ‣ ϝϞϦ32GB+HDDͷͱ͖ͱ, ϝϞϦ8GB+SSDͱ ͍͏ߏͩͱಉ༷ͷύϑΥʔϚϯεʹͳͬͨΓ ͢Δ…
‣ ϝϞϦ > SSD > HDD RAID-0/10 > HDD RAID-1