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
ソーシャルゲームの 高負荷とかじゃない 地味な方の話
Search
takahiro ogasawara
April 21, 2016
Programming
0
2k
ソーシャルゲームの 高負荷とかじゃない 地味な方の話
phpblt#4
takahiro ogasawara
April 21, 2016
Tweet
Share
More Decks by takahiro ogasawara
See All by takahiro ogasawara
新Teamで始めたDesignDoc運用と 定着化のためにやったこと
ogataka50
2
1.2k
Other Decks in Programming
See All in Programming
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
510
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
4
650
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
280
高単価案件で働くための心構え
nullnull
0
140
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.1k
モビリティSaaSにおけるデータ利活用の発展
nealle
0
200
The Missing Link in Angular's Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
130
CSC509 Lecture 10
javiergs
PRO
0
180
Atomics APIを知る / Understanding Atomics API
ssssota
1
150
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
240
Feature Flags Suck! - KubeCon Atlanta 2025
phodgson
0
130
Eloquentを使ってどこまでコードの治安を保てるのか?を新人が考察してみた
itokoh0405
0
3.2k
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Optimizing for Happiness
mojombo
379
70k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Producing Creativity
orderedlist
PRO
348
40k
We Have a Design System, Now What?
morganepeng
54
7.9k
How to Ace a Technical Interview
jacobian
280
24k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Transcript
ιʔγϟϧήʔϜͷ ߴෛՙͱ͔͡Όͳ͍ ຯͳํͷ @ogasora50
ࣗݾհ • খּݪ ۭ(@ogasora50) • cygames αʔόʔαΠυΤϯδχΞ • ࠷ۙɺṖʹ؍༿২ʹ·Δ
ࣗݾհ • খּݪ ۭ(@ogasora50) • cygames αʔόʔαΠυΤϯδχΞ • ࠷ۙɺṖʹ؍༿২ʹ·Δ
• ͋ͬ͞Γӽౙࣦഊ • ੜ໋ʹ A/BςετͳΜͯͳ͍
ιʔγϟϧήʔϜͷ ߴෛՙͱ͔͡Όͳ͍ ຯͳํͷ
όονॲཧͱ͔ σʔλཧͷΛͯ͠Έ·͢
όονॲཧ͕ଟΊ • όονͰͰ͖Δ͜ͱόονͰ • Ͱ͖Δ͚ͩϨεϙϯεΛૣ͍ͨ͘͠ • ϢʔβΞΫηε͕ͳͯ͘ॲཧ͍ͨ͠
όονॲཧͰؾΛ͚͍ͭͯΔࣄ • σʔλ͕૿͑ͯmemory_over͠ͳ͍͔ • ઃఆϛεͳͲͷରࡦ • ෆ۩߹/ো࣌ରԠ • ଐਓԽ͠ͳ͍Α͏࠷ݶͷϧʔϧ/υΩϡϝϯτԽ
memory_overରࡦ • ͍ΘΏΔ • ΄ͲΜͲྻ͕Ͱ͔͗͢Δ/ແବͳྻ࡞Γ͗͢ Fatal error: Allowed memory size
of xxx bytes exhausted
memory_overରࡦ • ඞཁͳͷΛඞཁͳ͚ͩɺখ͚ʹ·ͱΊͯॲཧ͢ΔΑ͏ʹ • ֎෦ϑΝΠϧʹग़ྗɺ͔ͦ͜ΒҰఆͣͭॲཧ • BULK INSERT • INSERT
… ON DIPLICATE KEY UPDATE • ඞͣຊ൪/μϛʔσʔλΛͬͯςετ
ઃఆϛεͳͲͷରࡦ • Ϛελʔσʔλʹϛε͕͋ͬͨΒͲ͏͠Α͏ͳ͍ɾɾɾ • σʔλͷෆ߹͕ͳ͍͔νΣοΫπʔϧΛఆظ࣮ߦ • dry_run࣮ͯ͠ࣄલʹ݁Ռ֬ೝ
ෆ۩߹/ো࣌ରԠ • ෆ۩߹/োʹૉૣ͘ؾ͚Δ͔ɺૉૣ͘ରԠͰ͖Δ͔ • ॲཧͷ൱Λࣾsnsʹ௨ • ແବͳ͙Β͍ͷϩάग़ྗ͕ͪΐ͏Ͳ͍͍ • ్தͰམͪͨͱͯ͠ɺΓ͠/࠶࣮ߦͰ͖ΔΑ͏ʹ
ϧʔϧ/υΩϡϝϯτԽ • ඞͣreadme࡞Δ ࠷ݶͷॲཧ/Ҿͷ֓ཁ͙Β͍ • ಓʹෳਓͰ୲ɺ࡞ۀΛճ͢ • όον͓͡͞Μ࡞Βͳ͍Α͏ʹ
ϧʔϧ/υΩϡϝϯτԽ • ӡ༻͕͘ͳΔʹͭΕɺόον࣮ߦαʔόʔ͕૿͑Δɾɾɾ • phpdocͷcron൛ɺcrondoc࡞ͬͨ • markdownܗࣜͷυΩϡϝϯτੜɺgithub͔Βࢀর 4)&--CJOCBTI 1"5)TCJOCJOVTSTCJOVTSCJO ."*-50SPPU
)0.& !UJUMFNPOEBZTI !BVUIPSIPHF !QBSBNFOW<EFWcTUHcQSPE> TUBSUFWFSZNPOEBZ TIIPNFIPHFIBQQZ@NPOEBZTIQSPE
σʔλཧ
σʔλཧ • ͱʹ͔͘σʔλ͕ͲΜͲΜΓΓ૿͑Δ • ඞཁͳͷΈอ࣋͢ΔΑ͏ʹ
σʔλཧ • ඞཁͳ͘ͳͬͨͷͲΜͲΜύʔδ • ύʔςΟγϣϯΛຖdrop & add • Πϕϯτ୯ҐͰςʔϒϧ࡞ɺΠϕϯτऴྃޙdrop
dropͰ͖ͳ͍ • σʔλྔେ͖͗ͯ͢ɺdrop࣌ʹio_waitͰϨεϙϯε͕ྼԽ • σʔλϑΝΠϧΛΏΔ͔ʹআ͢ΔΑ͏ʹͨ͠Βղܾ 1. ςʔϒϧͷσʔλϑΝΠϧʹϋʔυϦϯΫΛషΔ 2. drop table
3. linuxͷํͷ truncateͰঃʑʹαΠζΛΓ٧Ίremove • drop tableࣗಈԽ
·ͱΊ • όονඞཁͳͷΛඞཁͳ͚ͩɺখ͚ʹ·ͱΊͯॲཧ • ෆ۩߹/ো͕ى͖Δ͜ͱΛఆͨ͠ॲཧΛ • σʔλඞཁ࠷খݶอ࣋͢ΔΑ͏ɺ ύʔςΟγϣϯɺςʔϒϧ୯ҐͰύʔδͰ͖ΔΑ͏ʹ • ڊେͳςʔϒϧΛdrop͢Δࡍɺ
io_wait͕ى͖ͳ͍Α͏ʹΏΔ͔ʹσʔλϑΝΠϧΛআ͢Δ
enjoy engineering!