狠狠撸

狠狠撸Share a Scribd company logo
WEBスピード向上?転送量削減する
Brotli圧縮とDrupal
2
ABOUTME
Job : 合同会社レッドボックス CEO
※取り扱いトラフィックは約50Gbps前後(2017年時点)
Name: 小川 かつひさ (KATSUHISA OGAWA)
Like : CDN?負荷分散?WEB高速化
https://www.facebook.com/ogawaka
キャッシュ屋ブログ
Past : インフラ屋さん
サーバーやスイッチを設定したり色々やってるアレ
https://blog.redbox.ne.jp
3
コンテンツ圧縮の種類
代表的な圧縮方式
Gzip(ジージップ)またはDeflate(デフレート)
その他圧縮方式
Bzip2
特徴: deflateやgzipよりも圧縮率が高いが非標準
アルゴリズム:Burrows-Wheeler transform (BWT)
Zopfli(ズォップリー)
特徴:Googleが2013年に開発したGzipより圧縮率が高い方式
Brotli (ブロトリ)
特徴: Googleが開発したアルゴリズム。deflateやgzipよりも高い圧縮率
アルゴリズム:LZ77、ハフマン符号、2nd order context modeling
コンテンツ圧縮の仕組み
4
そもそも、WEB業界での
コンテンツ圧縮とは?
5
コンテンツ圧縮の仕組み
おれのものはおれのもの
「おれのものはおれのもの、おまえのものもおれのもの」
このテキストの場合、「おれのもの」のように同じフレーズ(文字列)が
ある場合は、出現場所と文字数を置き換えることにより圧縮を実現します。
つまり同じようなフレーズが多ければ多いほど圧縮率が高い。
「おれのものは6,5、おまえ10,3も9,5」
<
圧縮
Brotliとは?
6
Brotli(ブロトリ)はGoogleがファイルサイズをさらに縮小するために
開発したオープンソースの圧縮アルゴリズム。
由来はスイスで「小さなパン」を意味する「Brotli」(ドイツ語)と
なっています。
既に「RFC 7932」の一部としてIETFによって定義されています。
7
Brotliの圧縮率とパフォーマンス
圧縮率調査1
8
Brotliの圧縮率とパフォーマンス
圧縮率調査2
gzip圧縮率9よりBrotli圧縮率5のほうがコンテンツサイズが縮小
元ファイルが大きければ大きいほどBrotliの効果が高い。
9
Brotliの圧縮率とパフォーマンス
圧縮コスト(パフォーマンス)
10
Brotliの圧縮率とパフォーマンス
Brotli圧縮を使わない手はない。
11
Brotli圧縮対応状況
クライアントサイド
HTTPS必須 IE/OPERA以外は対応
12
Brotli圧縮対応状況
サーバーサイド
?Apache
httpd 2.4.26からmod_brotliが利用可能
?Nginx
ngx_brotliを利用
?Microsoft IIS
オフィシャルでサポートはされていませんが、コミュニティモジュールを導入す
ることにより対応します。
?Node.js
こちらもIISと同様にコミュニティモジュールを導入することにより対応します。
?PHP
PHPも拡張モジュールによって、brotli圧縮に対応しています。
https://github.com/kjdev/php-ext-brotli
13
Drupalとの連携
DrupalでBrotli圧縮をおこなうには
14
Drupalとの連携
Advanced CSS/JS Aggregation
15
Drupalとの連携
Advanced CSS/JS Aggregationとは?
とにかくWEBを高速化できる要素がつまっている。
? JS/CSSのMinifyを自動で行う(OntheFlyでは無い)
? 複数のCSS.JSを統合しリクエスト数を減らす
? Minifyしたコンテンツを複数のバリデータでチェック可能
? 外部CSS / JSのDNSプリフェッチを使用する
? D7,D8両方とも対応
16
Drupalとの連携
Brotli圧縮の有効化
モジュールをインストールすると、
パフォーマンスのタブに設定項目が追加されている。
Brotli を有効にするには、Brotli PHP Extentionの導入が必須。
※https://github.com/kjdev/php-ext-brotli
17
弊社CDNトラフィックを調査すると、約80%がBrotliに対応し
ている。残り20%はGzip配信。
サーバーサイドの標準実装が進めば、Gzipにかわる圧縮配信の
スタンダードとなる日も近い。
OnTheFly圧縮は若干圧縮コストがかかるため、Drupalのように
予めBrotli圧縮させたファイルを用意し、圧縮したコンテンツを
配信するという方式も有効。
CDNとの相性は正規化の関係上Brotliにお対応したCDNが必須。
ま
と
め
THANK YOU!!

More Related Content

What's hot (20)

20200714 cogbot
20200714 cogbot20200714 cogbot
20200714 cogbot
ひかり 影中
?
2015 cas ub
2015 cas ub2015 cas ub
2015 cas ub
Tokushige Kobayashi
?
20130330 JAWS-UG広島 美人CDP
20130330 JAWS-UG広島 美人CDP20130330 JAWS-UG広島 美人CDP
20130330 JAWS-UG広島 美人CDP
真吾 吉田
?
惭补谤办诲辞飞苍て?ト?キュメント作成
惭补谤办诲辞飞苍て?ト?キュメント作成惭补谤办诲辞飞苍て?ト?キュメント作成
惭补谤办诲辞飞苍て?ト?キュメント作成
Yasuyuki Fujikawa
?
惭补谤办诲辞飞苍もはじめよう
惭补谤办诲辞飞苍もはじめよう惭补谤办诲辞飞苍もはじめよう
惭补谤办诲辞飞苍もはじめよう
masayoshi takahashi
?
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips
豊明 尾古
?
グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1
グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1
グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1
Atsuhiko Kimura
?
顿别产颈补苍と奥辞谤诲笔谤别蝉蝉でハッピーになろう!
顿别产颈补苍と奥辞谤诲笔谤别蝉蝉でハッピーになろう!顿别产颈补苍と奥辞谤诲笔谤别蝉蝉でハッピーになろう!
顿别产颈补苍と奥辞谤诲笔谤别蝉蝉でハッピーになろう!
Jun Nogata
?
X pages day発表_20141118 final
X pages day発表_20141118 finalX pages day発表_20141118 final
X pages day発表_20141118 final
Fumiko Yamamoto
?
Xml rpc を使ってブログ投稿
Xml rpc を使ってブログ投稿Xml rpc を使ってブログ投稿
Xml rpc を使ってブログ投稿
Fumito Mizuno
?
Windows版 ruby で Officeアプリケーションの制御
Windows版 ruby で Officeアプリケーションの制御Windows版 ruby で Officeアプリケーションの制御
Windows版 ruby で Officeアプリケーションの制御
Koichi Shimozono
?
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
Takuya Mukohira
?
颁补办别笔贬笔と驰颈颈冲エンジニア勉强会20130820
颁补办别笔贬笔と驰颈颈冲エンジニア勉强会20130820颁补办别笔贬笔と驰颈颈冲エンジニア勉强会20130820
颁补办别笔贬笔と驰颈颈冲エンジニア勉强会20130820
エンジニア勉強会 エスキュービズム
?
御池サミット20130726
御池サミット20130726御池サミット20130726
御池サミット20130726
Takeshiro Kani
?
WordPress ドキュメンテーション作成と翻訳
WordPress ドキュメンテーション作成と翻訳WordPress ドキュメンテーション作成と翻訳
WordPress ドキュメンテーション作成と翻訳
Naoko Takano
?
クラウドことはじめ
クラウドことはじめクラウドことはじめ
クラウドことはじめ
Keiji Kamebuchi
?
XPagesDay 2013 Closing Session
XPagesDay 2013 Closing SessionXPagesDay 2013 Closing Session
XPagesDay 2013 Closing Session
Atsushi Sato
?
笔奥础について
笔奥础について笔奥础について
笔奥础について
iPride Co., Ltd.
?
Pro aspnetmvc3framework chap23
Pro aspnetmvc3framework chap23Pro aspnetmvc3framework chap23
Pro aspnetmvc3framework chap23
Hideki Hashizume
?
20130330 JAWS-UG広島 美人CDP
20130330 JAWS-UG広島 美人CDP20130330 JAWS-UG広島 美人CDP
20130330 JAWS-UG広島 美人CDP
真吾 吉田
?
惭补谤办诲辞飞苍て?ト?キュメント作成
惭补谤办诲辞飞苍て?ト?キュメント作成惭补谤办诲辞飞苍て?ト?キュメント作成
惭补谤办诲辞飞苍て?ト?キュメント作成
Yasuyuki Fujikawa
?
惭补谤办诲辞飞苍もはじめよう
惭补谤办诲辞飞苍もはじめよう惭补谤办诲辞飞苍もはじめよう
惭补谤办诲辞飞苍もはじめよう
masayoshi takahashi
?
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips
豊明 尾古
?
グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1
グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1
グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1
Atsuhiko Kimura
?
顿别产颈补苍と奥辞谤诲笔谤别蝉蝉でハッピーになろう!
顿别产颈补苍と奥辞谤诲笔谤别蝉蝉でハッピーになろう!顿别产颈补苍と奥辞谤诲笔谤别蝉蝉でハッピーになろう!
顿别产颈补苍と奥辞谤诲笔谤别蝉蝉でハッピーになろう!
Jun Nogata
?
X pages day発表_20141118 final
X pages day発表_20141118 finalX pages day発表_20141118 final
X pages day発表_20141118 final
Fumiko Yamamoto
?
Xml rpc を使ってブログ投稿
Xml rpc を使ってブログ投稿Xml rpc を使ってブログ投稿
Xml rpc を使ってブログ投稿
Fumito Mizuno
?
Windows版 ruby で Officeアプリケーションの制御
Windows版 ruby で Officeアプリケーションの制御Windows版 ruby で Officeアプリケーションの制御
Windows版 ruby で Officeアプリケーションの制御
Koichi Shimozono
?
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
Takuya Mukohira
?
御池サミット20130726
御池サミット20130726御池サミット20130726
御池サミット20130726
Takeshiro Kani
?
WordPress ドキュメンテーション作成と翻訳
WordPress ドキュメンテーション作成と翻訳WordPress ドキュメンテーション作成と翻訳
WordPress ドキュメンテーション作成と翻訳
Naoko Takano
?
クラウドことはじめ
クラウドことはじめクラウドことはじめ
クラウドことはじめ
Keiji Kamebuchi
?
XPagesDay 2013 Closing Session
XPagesDay 2013 Closing SessionXPagesDay 2013 Closing Session
XPagesDay 2013 Closing Session
Atsushi Sato
?
Pro aspnetmvc3framework chap23
Pro aspnetmvc3framework chap23Pro aspnetmvc3framework chap23
Pro aspnetmvc3framework chap23
Hideki Hashizume
?

产谤辞迟濒颈圧缩でスピード向上?転送量削减を実现 顿谤耻辫补濒との连携