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
Cacheが速いのか確認する話
Search
Ryo Tomidokoro
August 08, 2017
Technology
0
730
Cacheが速いのか確認する話
Ryo Tomidokoro
August 08, 2017
Tweet
Share
More Decks by Ryo Tomidokoro
See All by Ryo Tomidokoro
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
B+木入門:PHPで理解する データベースインデックスの仕組み/b-plus-tree-101
hanhan1978
5
3.3k
ADRを一年運用してみた/our_story_about_adr
hanhan1978
4
1.3k
PHPで学ぶ Session の基本と応用 / web-app-session-101-2024
hanhan1978
12
4.7k
レガシー回避のPHP開発術/avoid_php_legacy
hanhan1978
14
11k
Laravel Collectionの計算量を調べてみた2023/laravel_collection_time_complexity_2023
hanhan1978
0
860
PHP で学ぶ Cache の距離の話 / study_cache_with_php
hanhan1978
7
1.8k
Laravel を低速化する技術 / how to slow laravel
hanhan1978
1
3.1k
俺の Laravel がこんなに速いわけがない! / My Laravel Too Fast
hanhan1978
0
1.6k
Other Decks in Technology
See All in Technology
反実仮想機械学習とは何か
usaito
PRO
11
4.6k
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
2
240
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
520
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
200
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
900
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
190
Databricks における 『MLOps』
databricksjapan
2
170
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
360
アクセス制御にまつわる改善 / Improving access control
itkq
0
540
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
2.5k
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
15k
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
422
63k
Clear Off the Table
cherdarchuk
84
310k
GitHub's CSS Performance
jonrohan
1025
450k
Agile that works and the tools we love
rasmusluckow
325
20k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Documentation Writing (for coders)
carmenintech
60
3.9k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
How to train your dragon (web standard)
notwaldorf
73
5.2k
Adopting Sorbet at Scale
ufuk
68
8.6k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Transcript
Cache͕͍ͷ͔֬ೝ͢Δ 1)1#-5 *OOPWBUPS+BQBO*OD ॴ྄ &OHJOFFS
I˕UCONഭ͖ͬͯͨͷͰ
ύϑΥʔϚϯεʹහײʹͳΔ
ࠓճͷ͓ LaravelͰγϯϓϧͳΞϓϦΛ࡞ΓCacheͷੑೳΛܭଌ Laravel 1. BenchڥDockerͰߏங 2. Benchπʔϧsiege 3. title(255), content(1024)Λ1ສ݅औಘ
4. PHP7.1 with Opcache ຊεϥΠυʹ͓͍ͯCacheͱΞϓϦέʔγϣϯଆͰσʔλϕʔεͷݕࡧ ݁ՌΛCache͢Δͱ͍͏ҙຯͰ͢ɻΫΤϦΩϟογϡͷ͜ͱͰ͋Γ· ͤΜɻ
ॗʑͱܭଌ͢Δ
#FODI.BSL siege -t10s http://localhost/test 5SBOTBDUJPOSBUF USBOTTFD ૉLaravelͷύϑΥʔϚϯε
#FODI.BSL siege -t10s http://localhost/test_mysql 5SBOTBDUJPOSBUF USBOTTFD Cacheͳ͠MySQL 10000݅SELECT
ͬͺΓ͍ɻͦ͏ͩCache͠Α͏
#FODI.BSL siege -t10s http://localhost/test_predis 5SBOTBDUJPOSBUF USBOTTFD predisϥΠϒϦͰCache
#FODI.BSL siege -t10s http://localhost/test_redis 5SBOTBDUJPOSBUF USBOTTFD redis-extensionͰCache
݁ՌΛ·ͱΊΔ
#FODI.BSL USBOTTFD ݅ .Z42- 1SFEJT 3FEJTFYU
ԾઆΛཱͯΔ 1. ͕݅ଟ͍ͷͰIOόϯυ 2. MySQL5.7Ͱѹॖసૹ͕ޮ͍ͯΔ 3. PHPͷ༨ܭͳใ͕༩͞ΕͯΔ ͕݅ݮΔͱRedis͕༏ʹͳΔͣ
#FODI.BSL USBOTTFD ݅ ݅ ݅ ݅ .Z42-
1SFEJT 3FEJTFYU
Γͳ͍
#FODI.BSL Ͳ͏ͤͳΒɺCache͡Όͳͯ͘PHPʹͯ͠͠·͓͏ $val = var_export($res, true); file_put_contents(“tmp/$key”, '<?php $val =
' . $val . ';', LOCK_EX); ͜͏ͯ͠ include “tmp/$key”; ͜͏͡Ό
#FODI.BSL USBOTTFD ݅ ݅ ݅ ݅ .Z42-
1SFEJT 3FEJTFYU *ODMVEF
൵͍͠ͷͰ
#FODI.BSL ΠϯϥΠϯͰvar_exportͨ͠มΛॻ͍ͪΌ͏ $val = var_export($res, true); file_put_contents(“tmp/$key”, '<?php $val =
' . $val . ';', LOCK_EX); ͜͏ͯ͠ ͦͷ··ϖʔετ
#FODI.BSL USBOTTFD ݅ ݅ ݅ ݅ .Z42-
1SFEJT 3FEJTFYU JODMVEF JOMJOF
ࠓͷڭ܇ 1. mysqlҒେ 2. ೣḏࢠRedis => NG 3. IOίετ͕͔͔Δ(คຶ) RedisSortedListͱ͔Θͳ͍ݶΓ
ߟ͑ͳͯ͘ྑ͍͔͠Εͳ͍ɻ
ࠓޙͷ՝ 1. େྔσʔλΛίετͰ՚ྷʹಡΈࠐΉํ๏ 2. Cacheʹ͖͔͢Ͳ͏͔ͷᮢͷѲ