• 検索結果がありません。

PowerPoint プレゼンテーション

N/A
N/A
Protected

Academic year: 2021

シェア "PowerPoint プレゼンテーション"

Copied!
61
0
0

読み込み中.... (全文を見る)

全文

(1)
(2)
(3)
(4)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

4

WordPressインテグレーション

サービスを提供するプライム・ス

トラテジー株式会社代表取締役。

マイコンBASICマガジン時代か

らプログラミング暦約30年です。

@kengyu_n

kengyu.nakamura

www.prime-strategy.co.jp

(5)
(6)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

6

(7)
(8)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

8

(9)
(10)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

10

(11)
(12)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

12

わかりました。あの手この

手でやってみましょう。

(13)
(14)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

14

測定する対象

一、HTMLページのロード時間

二、1秒あたりのリクエスト数

(15)

一、HTMLページのロード時間=①+②+③を短縮する

ブラウザ

サーバ(WordPress)

①リクエスト送信

②実行

(16)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

16

ロード時間を分解する

ブラウザ

サーバ(WordPress)

①リクエスト送信

ブラウザ

②実行

③レスポンス受信

伝送時間

伝送時間

PHPの実行

MySQLの実行

翻訳処理

(17)

今回テストするサーバ環境など

サーバの場所

Amazon東京DC

サーバ(VPS)

Amazon EC2 スモール インスタンス

WordPress

3.2.1日本語版

アクセス元

東京某所

東京某所

東京のAmazon EC2

東京某所

(18)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

18

HTMLページのロード時間をFirefoxのFirebugで測定する

Firebugのネットタブ

ロード時間は682ミリ秒

1,000ミリ秒=1秒。

(19)

二、1秒間に処理できるリクエスト数を増やす

abというlinuxのコマンドライン

ツールでAmazonに設置した

WordPressに負荷をかけて測

定します。

=> 1.50リクエスト/秒

(20)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

20

何もしない状態での測定結果

1.ロード時間

682ms

2.リクエスト数

1.5リクエスト/秒

(21)

何もしない状態での測定結果

1.ロード時間

682ms

2.リクエスト数

1.5リクエスト/秒

(22)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

22

そこでサーバ(VPS)を変更します(スケールアップ)。

サーバ(VPS)

Amazon EC2 スモール インスタンス

(CPU 約900MHz 1コア,メモリ 1.7G)

サーバ(VPS)

Amazon EC2

ミディアム

インスタンス

(CPU

約2.17GHz 2コア

,メモリ 1.7G)

(23)

スケールアップの効果

1.ロード時間

682ms→

291ms

(2.3倍)

2.リクエスト数 1.5リクエスト/秒→

7.0リクエスト/秒

(4.6倍)

ロード時間はCPUの周波数に、リクエスト

数は周波数にコア数を乗じたものに比例

するのがわかります。

(24)
(25)

サーバの設置場所の違いによるロード時間の差

サーバの場所

Amazon世界各地のデータセンター

で比較します。

(アメリカ東海岸、西海岸、シンガ

サーバの場所

Amazon東京DC

サーバ(VPS)

Amazon EC2 ミディアム インスタンス

WordPress

3.2.1日本語版

アクセス元

東京某所

(26)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

26

サーバの設置場所の違いによるロード時間の差

設置場所

ロード時間 遅延時間

①東京

291ms

10ms

②シンガポール 564ms

283ms

③西海岸

653ms

372ms

④東海岸

898ms

617ms

(27)

サーバの設置場所の違いにより生じる伝送遅延時間

ブラウザ

サーバ(WordPress)

①リクエスト送信

ブラウザ

②実行

③レスポンス受信

伝送時間

伝送時間

PHPの実行

MySQLの実行

翻訳処理

(28)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

28

日本語翻訳処理

英語版

日本語版

ja.moファイル等

を用いた翻訳プ

ロセス

(29)

日本語翻訳処理のオーバーヘッド

WordPress日本語版の実行時間

の最大75%を占めます。

(30)
(31)

PHPを高速化する

ブラウザ

サーバ(WordPress)

①リクエスト送信

ブラウザ

②実行

③レスポンス受信

伝送時間

伝送時間

PHPの実行

MySQLの実行

翻訳処理

(32)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

32

APCを導入してPHPの構文解析を高速化する。

PHPは実行時に通常のPHPファイル

を構文解析し、バイトコードと呼ばれ

るPHPだけが理解できる形式に変

換します。

APCはバイトコードをキャッシュして

PHPの実行時間を短縮させます。

(33)

APC導入の効果

1.ロード時間

291ms→

188ms

(1.54倍)

(34)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

34

MySQLを高速化する

ブラウザ

サーバ(WordPress)

①リクエスト送信

ブラウザ

②実行

③レスポンス受信

伝送時間

伝送時間

PHPの実行

MySQLの実行

翻訳処理

(35)

MySQLを高速化する(クエリキャッシュの有効化)

my.cnfの[mysqld]セクションに

query_cache_size = 64M

の一行を追加してクエリキャッシュを有効にします。

クエリキャッシュはデータベースに変更がない限り、一度発行されたSELECT

文の実行結果をキャッシュして、それを再利用するものです。

(36)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

36

クエリキャッシュ導入の効果

1.ロード時間

188ms→

186ms

(1.01倍)

2.リクエスト数

11.8リクエスト/秒→

12.0リクエスト/秒

(1.01倍)

セットアップ直後はあまり効果が見られませんが、クエ

リ数やデータ数が増加してくると威力を発揮します。数

倍以上のパフォーマンスになることもあります。

(37)

日本語翻訳処理を高速化する

ブラウザ

サーバ(WordPress)

①リクエスト送信

ブラウザ

②実行

③レスポンス受信

伝送時間

伝送時間

PHPの実行

MySQLの実行

翻訳処理

(38)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

38

001 Prime Strategy Translate Acceleratorを導入する

WordPress.org公式ディレクトリから

プラグインをダウンロードして有効化

します。

翻訳ファイルの読み込みにキャッ

シュを用いたり、翻訳そのものを停

止させることで高速化します。

(39)

Translate Accelerator導入の効果(APCモード)

1.ロード時間

186ms→

132ms

(1.40倍)

(40)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

40

Translate Accelerator導入の効果(サイト表示の翻訳を停止)

1.ロード時間

132ms→

75ms

(1.76倍)

2.リクエスト数

17.3リクエスト/秒→

40.9リクエスト/秒

(2.36倍)

(41)

HTMLを圧縮して転送を高速化する

ブラウザ

サーバ(WordPress)

①リクエスト送信

ブラウザ

②実行

③レスポンス受信

伝送時間

伝送時間

PHPの実行

MySQLの実行

翻訳処理

(42)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

42

mod_deflate利用してファイル圧縮で転送量を減少させる

mod_deflateが利用可な場合、Apacheの設定ファイルに、

AddOutputFilterByType DEFLATE text/html text/plain text/css

等の設定を行うと、該当するコンテントタイプのファイルをgzip圧縮します。

これによって転送量を減少させることができます。

(43)

mod_deflate導入の効果

1.ロード時間

75ms→

66ms

(1.13倍)

2.リクエスト数

40.9リクエスト/秒→

41.0リクエスト/秒

(1.00倍)

リクエスト数にはあまり影響がありませんが、ページの

ボリュームが多い場合には効果的です。また

WordPressのみならずCSSやJavascriptなどにも適用で

(44)
(45)

ページキャッシュを用いる高速化

ブラウザ

サーバ(WordPress)

①リクエスト送信

ブラウザ

②実行

③レスポンス受信

伝送時間

伝送時間

PHPの実行

MySQLの実行

翻訳処理

(46)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

46

WP Super Cacheでページをキャッシュする

WordPress.org公式ディレクトリから

プラグインをダウンロードして有効化

します。

一度アクセスのあったページを

キャッシュして再利用します。

(47)

WP Super Cache導入の効果

1.ロード時間

66ms→

25ms

(2.64倍)

(48)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

48

Nginxのプロクシキャッシュを使う(1回目のアクセス)

Nginx+proxy

cache

80番ポート

Nginx+fcgi

8080番ポート

②プロクシ

③PHP(WordPress)の実行

④キャッシュ処理と

レスポンス

①リクエスト

(49)

Nginxのプロクシキャッシュを使う(2回目以降のアクセス)

Nginx+proxy

cache

80番ポート

②キャッシュを返す

①リクエスト

(50)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

50

Nginxのプロクシキャッシュ導入の効果

1.ロード時間

25ms→

25ms

(1.00倍)

2.リクエスト数

679リクエスト/秒→

1515リクエスト/秒

(2.23倍)

(51)

Nginx+Varnishでさらに高速化する(1回目のアクセス)

Nginx+proxy

80番ポート

+

②プロクシ

④PHP(WordPress)の実行

⑤キャッシュ処理

①リクエスト

Varnish

6081番ポート

③プロクシ

⑥レスポンス

(52)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

52

Nginx+Varnishでさらに高速化する(2回目のアクセス)

Nginx+proxy

80番ポート

+

8080番ポート

②プロクシ

③キャッシュを返す

①リクエスト

Varnish

6081番ポート

Nginx+fcgi

④レスポンス

(53)

Nginx+Varnish導入の効果

1.ロード時間

25ms→

25ms

(1.00倍)

(54)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

54

絶大な威力を発揮するページキャッシュ。では、これですべて解決か?

ページキャッシュなし

ページキャッシュあり

テーマ修正

キャッシュクリア必要

ウィジェット修正

キャッシュクリア必要

設定変更

キャッシュクリア必要

投稿

管理画面

キャッシュ無効

セッション使用

対策が必要

データ書き込み

対策が必要

条件に応じた

表示の変化

対策が必要

(55)
(56)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

56

おまけ:keep aliveを有効にして接続を再利用する

ブラウザ

サーバ(WordPress)

①リクエスト送信

ブラウザ

②実行

③レスポンス受信

伝送時間

伝送時間

PHPの実行

MySQLの実行

翻訳処理

(57)

おまけ:keep aliveを有効にして接続を再利用する

Apaceh、Nginxともにkeep aliveを有効にすることによって一度発生した接続

を一定時間再利用します。これにより、接続を確立させるまでのオーバー

ヘッドを短縮します。

[Nginx]の場合

keepalive_timeout 3;

[Apache]の場合

(58)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

58

keep alive導入の効果

1.ロード時間

25ms→

16ms

(1.56倍)

2.リクエスト数

2501リクエスト/秒→

3175リクエスト/秒

(1.26倍)

(59)

2,000倍速くなったか?

1.ロード時間

682ms→

16ms

(43倍)

2.リクエスト数

1.5リクエスト/秒→

3175リクエスト/秒

(2116倍)

ロード時間は43倍でしたが、リクエスト数は2000倍を

達成しました。

(60)

Copyright (C) 2011 Prime Strategy co.,ltd.

Prime Strategy

60

まとめ

①リクエスト送信

②実行

③レスポンス受信

伝送時間

伝送時間

PHPの実行

MySQLの実行

翻訳処理

サーバの場所

keep alive

APC

クエリキャッシュ

001 Prime Strategy

Translate Accelarator

サーバの場所

gzip圧縮

WP Super Cache

Nginx+proxy cache

Nginx+Varnish

サーバスペックの見直し

(61)

参照

関連したドキュメント

ハブ間の輸送費用:

WAKE_IN ピンを Low から High にして DeepSleep モードから Active モードに移行し、. 16ch*8byte のデータ送信を行い、送信完了後に

Jabra Talk 15 SE の操作は簡単です。ボタンを押す時間の長さ により、ヘッドセットの [ 応答 / 終了 ] ボタンはさまざまな機

・この1年で「信仰に基づいた伝統的な祭り(A)」または「地域に根付いた行事としての祭り(B)」に行った方で

【原因】 自装置の手動鍵送信用 IPsec 情報のセキュリティプロトコルと相手装置の手動鍵受信用 IPsec

DJ-P221 のグループトークは通常のトーンスケルチの他に DCS(デジタルコードスケル

と発話行為(バロール)の関係が,社会構造(システム)とその実践(行

行ない難いことを当然予想している制度であり︑