Submit Search
Upload
Cache勉強会
•
Download as PPTX, PDF
•
3 likes
•
1,793 views
Shinji Miyazato
Follow
キャッシュについての勉強会資料です
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 15
Download now
Recommended
試験にでるSpring
試験にでるSpring
土岐 孝平
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Tetsutaro Watanabe
RTBにおける機械学習の活用事例
RTBにおける機械学習の活用事例
MicroAd, Inc.(Engineer)
ビッグデータ処理データベースの全体像と使い分け 2018年version
ビッグデータ処理データベースの全体像と使い分け 2018年version
Tetsutaro Watanabe
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
NTT DATA Technology & Innovation
異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j
昌桓 李
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
データインターフェースとしてのHadoop ~HDFSとクラウドストレージと私~ (NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
データインターフェースとしてのHadoop ~HDFSとクラウドストレージと私~ (NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
NTT DATA Technology & Innovation
Recommended
試験にでるSpring
試験にでるSpring
土岐 孝平
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Tetsutaro Watanabe
RTBにおける機械学習の活用事例
RTBにおける機械学習の活用事例
MicroAd, Inc.(Engineer)
ビッグデータ処理データベースの全体像と使い分け 2018年version
ビッグデータ処理データベースの全体像と使い分け 2018年version
Tetsutaro Watanabe
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
NTT DATA Technology & Innovation
異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j
昌桓 李
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
データインターフェースとしてのHadoop ~HDFSとクラウドストレージと私~ (NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
データインターフェースとしてのHadoop ~HDFSとクラウドストレージと私~ (NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
NTT DATA Technology & Innovation
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
Yutuki r
基本に戻ってInnoDBの話をします
基本に戻ってInnoDBの話をします
yoku0825
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
NTT DATA Technology & Innovation
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Cloudera Japan
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Ryota Watabe
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
Seiya Mizuno
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Treasure Data, Inc.
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
NTT DATA Technology & Innovation
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
ippei_suzuki
データベース技術の羅針盤
データベース技術の羅針盤
Yoshinori Matsunobu
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
Keiichiro Ono
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
yoku0825
静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
T. Suwa
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
グラフデータベース入門
グラフデータベース入門
Masaya Dake
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
Tetsutaro Watanabe
大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れる
Shuhei Iitsuka
あるキャッシュメモリの話
あるキャッシュメモリの話
nullnilaki
Cognitoハンズオン
Cognitoハンズオン
Shinji Miyazato
More Related Content
What's hot
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
Yutuki r
基本に戻ってInnoDBの話をします
基本に戻ってInnoDBの話をします
yoku0825
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
NTT DATA Technology & Innovation
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Cloudera Japan
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Ryota Watabe
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
Seiya Mizuno
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Treasure Data, Inc.
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
NTT DATA Technology & Innovation
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
ippei_suzuki
データベース技術の羅針盤
データベース技術の羅針盤
Yoshinori Matsunobu
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
Keiichiro Ono
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
yoku0825
静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
T. Suwa
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
グラフデータベース入門
グラフデータベース入門
Masaya Dake
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
Tetsutaro Watanabe
大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れる
Shuhei Iitsuka
What's hot
(20)
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
基本に戻ってInnoDBの話をします
基本に戻ってInnoDBの話をします
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
データベース技術の羅針盤
データベース技術の羅針盤
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
静的型つき組版処理システムSATySFi @第61回プログラミング・シンポジウム
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
グラフデータベース入門
グラフデータベース入門
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れる
Viewers also liked
あるキャッシュメモリの話
あるキャッシュメモリの話
nullnilaki
Cognitoハンズオン
Cognitoハンズオン
Shinji Miyazato
20170518_今さら聞けないHANAのハナシの基本のき by SAPジャパン株式会社 新久保浩二
20170518_今さら聞けないHANAのハナシの基本のき by SAPジャパン株式会社 新久保浩二
Insight Technology, Inc.
[20171031 db tech salon] クラウド移行をベトナムで!? by 株式会社インサイトテクノロジー 森 茂紀
[20171031 db tech salon] クラウド移行をベトナムで!? by 株式会社インサイトテクノロジー 森 茂紀
Insight Technology, Inc.
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
MongoDB全機能解説1
MongoDB全機能解説1
Takahiro Inoue
情報科学における18のメタテクニック
情報科学における18のメタテクニック
nakano_lab
Viewers also liked
(7)
あるキャッシュメモリの話
あるキャッシュメモリの話
Cognitoハンズオン
Cognitoハンズオン
20170518_今さら聞けないHANAのハナシの基本のき by SAPジャパン株式会社 新久保浩二
20170518_今さら聞けないHANAのハナシの基本のき by SAPジャパン株式会社 新久保浩二
[20171031 db tech salon] クラウド移行をベトナムで!? by 株式会社インサイトテクノロジー 森 茂紀
[20171031 db tech salon] クラウド移行をベトナムで!? by 株式会社インサイトテクノロジー 森 茂紀
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
MongoDB全機能解説1
MongoDB全機能解説1
情報科学における18のメタテクニック
情報科学における18のメタテクニック
Similar to Cache勉強会
マイニング探検会#10
マイニング探検会#10
Yoji Kiyota
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
Yuto Takei
第2章アーキテクチャ
第2章アーキテクチャ
Kenta Hattori
社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)
Masahiro NAKAYAMA
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
Insight Technology, Inc.
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
Kazuho Oku
計算機理論入門08
計算機理論入門08
Tomoyuki Tarumi
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
Kuniyasu Suzaki
Lesson01
Lesson01
MRI
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Sunao Tomita
BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築
BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築
Itoshi Nikaido
Windows Azure for PHP Developers
Windows Azure for PHP Developers
fumios
websocket-survery
websocket-survery
hogemaru_
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
GoAzure
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Daiyu Hatakeyama
Java EE7 䛸㻌JCache
Java EE7 䛸㻌JCache
maruyama097
Caching ガイダンスの話
Caching ガイダンスの話
Sunao Tomita
第17回「サーバーとネットワークをもっと仲良しに – その間を取持つネットワーク仮想化技術」(2012/05/24 on しすなま!)
第17回「サーバーとネットワークをもっと仲良しに – その間を取持つネットワーク仮想化技術」(2012/05/24 on しすなま!)
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
【Build 記念】Windows Azure 最新情報 ~2013 年上半期の総括~ > 「Windows Azure 最新情報」
【Build 記念】Windows Azure 最新情報 ~2013 年上半期の総括~ > 「Windows Azure 最新情報」
Naoki (Neo) SATO
Similar to Cache勉強会
(20)
マイニング探検会#10
マイニング探検会#10
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
第2章アーキテクチャ
第2章アーキテクチャ
社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
計算機理論入門08
計算機理論入門08
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
Lesson01
Lesson01
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築
BioDevOpsによる再現性のあるバイオインフォマティクス環境の構築
Windows Azure for PHP Developers
Windows Azure for PHP Developers
websocket-survery
websocket-survery
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Java EE7 䛸㻌JCache
Java EE7 䛸㻌JCache
Caching ガイダンスの話
Caching ガイダンスの話
第17回「サーバーとネットワークをもっと仲良しに – その間を取持つネットワーク仮想化技術」(2012/05/24 on しすなま!)
第17回「サーバーとネットワークをもっと仲良しに – その間を取持つネットワーク仮想化技術」(2012/05/24 on しすなま!)
【Build 記念】Windows Azure 最新情報 ~2013 年上半期の総括~ > 「Windows Azure 最新情報」
【Build 記念】Windows Azure 最新情報 ~2013 年上半期の総括~ > 「Windows Azure 最新情報」
More from Shinji Miyazato
課題に向き合え
課題に向き合え
Shinji Miyazato
Webシステムにおけるキャッシュの話
Webシステムにおけるキャッシュの話
Shinji Miyazato
TUIゲームを作った話
TUIゲームを作った話
Shinji Miyazato
ラズパイギター
ラズパイギター
Shinji Miyazato
はいチーズ!の改善事例
はいチーズ!の改善事例
Shinji Miyazato
ラズタンク
ラズタンク
Shinji Miyazato
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
Shinji Miyazato
Docker and Fargate
Docker and Fargate
Shinji Miyazato
[TechPlayConf]Rekognition導入事例
[TechPlayConf]Rekognition導入事例
Shinji Miyazato
Lambda勉強会
Lambda勉強会
Shinji Miyazato
More from Shinji Miyazato
(10)
課題に向き合え
課題に向き合え
Webシステムにおけるキャッシュの話
Webシステムにおけるキャッシュの話
TUIゲームを作った話
TUIゲームを作った話
ラズパイギター
ラズパイギター
はいチーズ!の改善事例
はいチーズ!の改善事例
ラズタンク
ラズタンク
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
AWS re:Invent 2018 行ってきました報告 / JAWS-UG Okinawa 20190119
Docker and Fargate
Docker and Fargate
[TechPlayConf]Rekognition導入事例
[TechPlayConf]Rekognition導入事例
Lambda勉強会
Lambda勉強会
Cache勉強会
1.
miyaz キャッシュ 勉強会
2.
• ITシステムを使用する場合、情報伝達経路に様々なモノが介在している。 例えば、CPU/メモリ/HDD/マザーボード/NIC/LANケーブル/ファイアウォールなど。 • Webサイトのあるページを開く時のデータの流れを例にすると、以下のようになる その各情報伝達経路上で、様々なキャッシュが使われている 1)ユーザがブラウザからリクエスト送信 2)プロキシサーバ経由してインターネットへ 3)ファイアウォール通過 4)ロードバランサ通過 5)Webサーバ通過 6)APサーバにてリクエストを処理 7)APからDBへ必要なSQL発行 8)DBデータから必要なデータを取得し APへ応答 9)AP~ブラウザまで応答 はじめに 引用元)
http://ja.wikipedia.org/wiki/キャッシュ_(コンピュータシステム)
3.
キャッシュ(Cache) • キャッシュ (cache)
は、CPUのバスやネットワークなど様々な情報伝達経路において、ある領 域から他の領域へ情報を転送する際、その転送遅延を極力隠蔽化させ転送効率を向上させるた めに考案された記憶階層の実現手段である。 • 転送元と転送先の中間に位置し、データ内容の一部とその参照を保持する。データ転送元への 転送要求があり、それへの参照が既にキャッシュに格納されていた場合は、元データからの転 送は行わずキャッシュが転送を代行する(この状態をキャッシュヒット、キャッシュに所望の データが存在せず元データから転送する状態をキャッシュミスという)。 これらによりデータ転送の冗長性やオーバヘッドを低減させることで転送効率を向上させる。 Wikipediaより引用 引用元) http://ja.wikipedia.org/wiki/キャッシュ_(コンピュータシステム)
4.
• ここでおさらい! デスク上での作業で例えると。 CPU・・・ 「仕事・作業をしてる人」 –
良いCPUとは、仕事・作業をしてる人の能力が高いということ。 メモリ・・・「デスク」 – 良いメモリとは、デスクが広くて作業がはかどるということ。 HDD・・・「デスクの引き出し」 – 良いハードディスクとは、引き出しが大きくて、作った物がたくさん入るということ 。 引用元) http://enjoy.sso.biglobe.ne.jp/archives/zukai_pc/ つまり、「能力が高い人が、広いデス クで作業すれば仕事がとてもはかどり 、その結果として良いものをたくさん 作ることができて、さらに引き出しが 大きければ、どんどん在庫を保管して おくことができる」ということ。 CPU/メモリ/HDDの違い
5.
記憶階層 • データを保持する記憶装置のコストバランスは、通常小容量×高速≒大容量×低速が成り立つ。小容量 ×高速記憶装置の代表はCPUレジスタであり、大容量×低速記憶装置の代表はハードディスクや磁気テ ープなどの補助記憶装置である。記憶装置の理想は大容量×高速アクセスであるが、通常コストパフ ォーマンスが悪く実現困難である。そのため小容量×高速、中容量×中速、大容量×低速など複数段階 にまたがった記憶構造とし(一般にCPUなどバスマスタに近い側を上位レベル、遠い側を下位レベル とする)、各レベルを各々下位レベルの一時記憶として用いることで代替する。この構造を記憶階 層という。 引用元) http://ja.wikipedia.org/wiki/キャッシュ_(コンピュータシステム) ここがポイント! ・主記憶装置より上は、電源おちると消える ⇒データが消えないように、補助記憶装置 (HDDなど)を使わざるを得ない。 が、ディスクアクセスは超低速! ・安くて速いシステムを構築する、ということは いかにキャッシュして使うか(ディスクアクセスを 減らすか)を、各階層で工夫すること。
6.
いろいろなキャッシュ • HWが提供するキャッシュ – CPU~メモリ間 ➢
L1キャッシュ、L2キャッシュ、L3キャッシュ • OSが提供するキャッシュ – HDD~メモリ間 ➢ ページキャッシュ(ディスクキャッシュ) ➢ 全てのプログラムは、メモリ上で実行される(これも一種のキャッシュ) • SWレイヤで提供するキャッシュ – Webブラウザ ➢ ブラウザキャッシュ – KeyValueストア系キャッシュSW ➢ Memcached ➢ VarnishCache – データベース(以下はOracleの名称だが、他DB製品でも同様な機能を持つ) ➢ ライブラリ・キャッシュ ➢ ディクショナリ・キャッシュ ➢ バッファ・キャッシュ
7.
CPUのキャッシュ • CPUは、キャッシュメモリ(主記憶装置とは別モノ)と呼ばれるメモリを使用して、 処理の高速化を図っている • キャッシュメモリには、高速な順(&容量が小さい順)にL1キャッシュ、L2キャッシ ュ、L3キャッシュ(※)がある。
※L3はない場合もある • L1キャッシュ (1次キャッシュ) – キャッシュメモリはメインメモリ(RAM)よりも高速に読み書きできるが(価格が高いため)搭載容量の少 ないメモリ装置で、直近に使用したデータや使用頻度の高いデータなどを格納するのに使われる。 – 最優先でデータの読み書きが行われるものを1次キャッシュという。 • L2キャッシュ (2次キャッシュ) – 2次キャッシュは1次キャッシュよりも低速だが大容量のメモリ装置で、1次キャッシュに収まりきらな いデータの受け皿となる。 – 2次キャッシュからも溢れたデータは、3次キャッシュがある場合は3次キャッシュに、ない場合はメイ ンメモリに格納される。 引用元) http://e-words.jp/w/1E6ACA1E382ADE383A3E38383E382B7E383A5.html
8.
CPUのキャッシュ CPU L1キャッシュ 処理単位時間:1ns L2キャッシュ 処理単位時間:4.7ns メインメモリ 処理単位時間:83ns
9.
HDDのキャッシュ • HDDは、メインメモリと比べてもI/O(Read/Write)性能が格段に遅い! • HDDのI/O待ちを減らすために、Linux
(に限らず他の OS もそうですが) にはディスクの 内容を一度読んだらそれをカーネルがキャッシュして、二度目以降はメモリから読む 機構 = ページキャッシュがある。 • 実演 # dd if=/dev/urandom of=/tmp/test bs=1M count=100 ⇒100MBのファイルを作成 # sync;echo 3 > /proc/sys/vm/drop_caches ⇒ページキャッシュをクリア # time cat /tmp/test > /dev/null ⇒ページキャッシュをクリアする前後で100MB読み出し時間比較! HDD/メモリの性能によるが、データ転送速度100倍程度、 探索処理は10万倍~100万倍程度の差がある
10.
CPU、メモリ、HDDのレイテンシ • 各レイテンシをオフィスの比喩でみてみると・・・ L1:机から紙を1枚とる(3秒) L2:本棚から本を取り出す(14秒) メインメモリ:部屋を出て階下でお菓子を買う(4分) ハードディスク:オフィスを出て世界放浪の旅に出る(1年3か月) これぐらいの差がある、という例。 実際には、nano秒~micro秒レベルの話。 ※nano秒・・・10億分の1秒 ハードディスクが“激遅”であることがわかる。 世の中の “重いシステム(Webサイト)”
の大半は、突き詰めると ディスクIOが遅いことに原因がある。 引用元) http://vwxyz.hateblo.jp/entry/20101221/1292923352
11.
Oracleのキャッシュ • ライブラリ・キャッシュ – 共有SQL領域(SQL解析ツリー、実行計画) •
ディクショナリ・キャッシュ – オブジェクト(テーブルなど)の属性情報、構成情報を保持 • バッファ・キャッシュ – データファイルの中身 • SQL処理フロー ① SQLの解析(PARSE) ◆ 表や列の定義チェック、アクセス権限のチェックを行い 最適な実行計画が選択される ◆ 解析結果を共有プールに保持する。 再度同じSQLが発行された場合に不要な解析を繰返す必要がなくなる。 ② SQLの実行(EXECUTE) ◆ SQL処理に必要なターゲットのデータを、データベース・バッファ・キャッシュ上で探す 。 ◆ 見つからなかった場合は、データ・ファイルから対象ブロックを読込む⇒ディスクIO発 生 ◆ 読み込んだデータをバッファ・キャッシュに保持する。 次回対象データへのアクセスが発生した場合は、バッファ・キャッシュ ③ 値の取出し(FETCH) ※Selectのみ
12.
プログラムで使うキャッシュ? • プログラム(コード)上のロジック上でもキャッシュを意識すると 高性能 • 簡単なjavascriptの例 [遅い] for
(i = 0; i < elements.length; i++) { ... } [速い] for (i = 0, len = elements.length; i < len; i++) { ... } この違い、わかりますか?
13.
キャッシュヒット率監視の重要性 • キャッシュミスが多発する、ということは性能劣化の表れ – メモリ不足や、設定が適切ではない可能性がある •
Linuxサーバの場合 – iowaitを監視 • キャッシュ機能を持つSW – Oracleだと、バッファ・キャッシュ、ライブラリ・キャッシュ、ディクショナリ・ キャッシュのヒット率を監視。99%以上が望ましい。95%以下は問題あり – VarnishCacheやmemcachedなどもキャッシュヒット率を監視し ミスが増加傾向であればキャッシュストレージ、キャッシュインスタンスの増設 を検討する必要がある
14.
キャッシュがないとどうなるか • オールインワンでINSUITEが動く検証環境で実演してみます ①ブラウザキャッシュがないとどうなる? – Fiddlerというツールで、強制的にキャッシュを無効化してみると。 。 ②サーバ上のページキャッシュ&Oracleキャッシュがない と どうなる? –
Oracleを再起動してキャッシュをクリアし、かつOS上のページキャ ッシュをクリアすると。。
15.
おわり
Download now