CDNを使わずWEBアクセスのロードタイムが1秒を切った!

ちょっと前に、このブログのロードタイム、1秒を切りたいと話していました。

スマホからの表示速度を1秒以下にしたい!

で、enひかりの固定IP配下に作ったテスト環境でこのブログと同等のデータを引っ越して速度向上を検討していました。まず、現在の結果から出してみたいと思います。モバイルサイトの速度を比較しましょう

3.8秒から、2.2秒までアップしました。スマホ表示にはまったく手をいれていませんが、1.6秒縮まりましたね!

また、PCでのアクセスは別サイトで計測しました。まずは現状の確認。

WebPageTest Test Result Tokyo junkhack gpl jp 03 16 20 02 26 41

「LoadTime」の部分が全体を表示するまでにかかっている時間です。では、検証用に立ち上げているサイトでも同様に見ていきます。

WebPageTest Test Result Tokyo hoge gpl jp 03 16 20 03 10 36

なんと、1秒を切っています!4.5秒からなんと0.98秒までアップしました。
CDN を使わなくてもここまでアップできるものなんですね。まだチューニングする部分はたくさんありますが、今年の夏引っ越しに向けて、あれこれ研究していきたいと思います。

今回速度の向上に関して、確認したことといえば以下となります。

・WordPress のテーマは軽いのがいい → Susty WP に変えた
・CDNは使っていないが、Jetpack のCDN機能を使いました → これはあまりよろしくないかも(要研究)
・表示を10から3に変えた → もっと見たい人はほぼいないし、見たければ検索なりしてくれるから
・回線をenひかりの IP固定 v6プラス の自宅サーバにしてみた → WordPress.com はデータセンターがUSにあります。v6網のバイパスはかなり有効!

CDN は、DNS の ns を切り替えないといけなしそれなりに弊害もあるのでたぶんやらないと思います。使わなくてもここまでできるなら、あとは微調整でもっと速くなるかもしれません。Jetpack のCDN機能を使った影響なのか、それ以外が原因なのかわかりませんが、以下のように空白の時間があります。

Latest Performance Report for http hoge gpl jp GTmetrix

ということで、ロードタイムが1秒を切ったという話でした。まだまだ研究する部分がたくさんありますので、継続してあれこれやってみたいと思います。

 

 

 

 

Rapid START CDNを試す! が、ハマりどころいっぱい!

Rapid START CDNっていう国産のCDNがあって前から試してみたかったんですが、今回良い機会なので実際に登録してみました。

まず結論から行くとまだうまく行っていません。ハマりどころがあるんで、まずそれを記録しておくことにします。きっと、誰かの役にたつかもです。

ハマりどころ1

サブドメインで、一文字は登録できません。例えば、以下のようなサブドメインは、登録しようとするとエラーが出ます。

j.gpl.jp

2文字以上はOKです。1文字はサブドメインとしては問題なくちゃんとアクセスも出来るし通常のDNSにも登録できます。Rapid START CDN側の問題というか制約でしょう。

汎用JPドメインの第2レベルは、3文字以上しか登録できませんが、第3レベル(今回でいうjの部分)はドメイン運用者が自由に決めらます。文字種は限りがあります。英字(A~Z)、数字(0~9)、 ハイフン( – )が使用できます(先頭と末尾の文字をハイフンとするのは不可)

では、2文字でやって見ましょう。Good Gameの略でgg.gpl.jpということにしましょうか。Gが多すぎて見にくいですがね。まぁテストなんで良しとしましょう。DNS登録して、digなどで引いてみましょう。TTLは60秒と短くしてあります。

# dig gg.gpl.jp
::
;; ANSWER SECTION:
gg.gpl.jp. 60 IN A 116.58.181.140
::

では、RapidStartのCDNコンパネで登録してみましょう。

はい、できました!次は、オリジンサーバのAレコードをDNSに登録します。
origin.gg.gpl.jp
というAレコードです。こんな感じで引ければOKです。

# dig origin.gg.gpl.jp
::
;; ANSWER SECTION:
origin.gg.gpl.jp.	60	IN	A	116.58.181.140
::

次はドメイン所有確認のため、長いドメイン部のテキストレコードをDNSに設定しておきます。

以下のように確認しておきます。

$ dig -t TXT xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jh.gpl.jp
::
;; ANSWER SECTION:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jh.gpl.jp. 60 IN TXT "redbox-cdn-verification=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
::

所有確認が出来れば、ステータスがOKになります。コンパネの設定から、WordPress のキャッシュポリシーにしておきます。

あとは、動作確認のためhostsファイルを書き換えて確認せよとありますのでやってみます。

$ cat /etc/hosts
#::
127.0.0.1	localhost
255.255.255.255	broadcasthost
::1             localhost

160.16.92.179 gg.gpl.jp

これでブラウザーから http://gg.gpl.jp/ へアクセスしてみます。

さて、何がだめなんでしょうかね? どなたかわかる方いらっしゃいましたらコメントください。一応、RapidStartのフェイスブックのチャットで聞いているんですが、まだ回答がありません。

ちなみに、このテストがOKであれば、該当Aレコードをcnameに書き換えます。が、このままでは同じ結果になるのでCNAME書き換えてもだめです。

この free.rs.cdnw.net のIPは引いてみると以下です。

$ dig free.rs.cdnw.net
::(略)
;; ANSWER SECTION:
free.rs.cdnw.net.	29	IN	A	59.106.219.219

59.106.219.219 なんですが、160.16.92.179 からでも同じホストへアクセスできるのでしょうかね。ちょっと相手側構成はわかりませんが、そのように指示があるので経路が違うだけなんでしょう。

一応、試したことは以下ですが、同じ結果です。

・コンパネからキャッシュの全削除
 → 上のほうに失敗の文字がでているんですが消せてるんでしょうかね。

・同じことをもう一度、違うサブドメインで登録
 → 最初、jh.gpl.jp で登録し、今回 gg.gpl.jp でやってみたがだめ。