$30 off During Our Annual Pro Sale. View Details »
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
1
1.2k
Other Decks in Programming
See All in Programming
エディターってAIで操作できるんだぜ
kis9a
0
750
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.9k
AIエージェントの設計で注意するべきポイント6選
har1101
5
2.1k
TestingOsaka6_Ozono
o3
0
170
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.5k
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
120
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
960
Developing static sites with Ruby
okuramasafumi
0
320
AIコーディングエージェント(Gemini)
kondai24
0
270
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
390
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
170
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
3
640
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Rails Girls Zürich Keynote
gr2m
95
14k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
130
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
250
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
72
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
0
91
The untapped power of vector embeddings
frankvandijk
1
1.5k
Agile that works and the tools we love
rasmusluckow
331
21k
First, design no harm
axbom
PRO
1
1.1k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
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!