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秒を切ったという話でした。まだまだ研究する部分がたくさんありますので、継続してあれこれやってみたいと思います。

 

 

 

 

3.3万で買える4コア8スレッドのRyzen5マシンをポチった!

ついこの間、検討していた3.3万で買える4コア8スレッドのRyzen5マシンをポチりましたので、ご報告(ジャンクじゃないですよ)

3.3万で買えるマシン!サーバ用候補のThinkCentre M75q-1 Tiny:価格.com限定モデル

いやー、この価格は激安を超えて破格なんじゃないかと思います。最初のネタ元はYouTubeを見ていて岡ちゃんねるっていう、自分と似た異様な匂いがするチャンネルがあるんですが、この方が紹介していたのがきっかけです。ちょっと改めて値段とスペックを見ていきましょう。

まず、外観から。こんな感じの弁当箱サイズの筐体です。

ThinkCentre M75q 1 Tiny コンパクトなボディでパワフル性能 レノボジャパン

なかなかシンプルで赤のLenovoのロゴもかっこいいんじゃないでしょうか。IBMって入ってたら最高なんですがね。

ThinkCentre M75q 1 Tiny コンパクトなボディでパワフル性能 レノボジャパン

1. 電源ボタン
2. マイク入力
3. ヘッドホン出力
4. USB 3.1 Gen1
5. USB 3.1 Gen1 (Powered USB)

ThinkCentre M75q 1 Tiny コンパクトなボディでパワフル性能 レノボジャパン

6. セキュリティ キーホール
7. ACアダプター電源ジャック
8. DisplayPort
9. USB 3.1 Gen1
10. HDMI
11. USB2.0 (Powered USB)
12. USB2.0
13. イーサネット・コネクター(RJ-45)
14. アンテナ端子

というようなインターフェイスが付いています。ちなみに、8と10 のモニター出力がどういう構成でつくのかあまりよくわかっていません。自分が選んだ構成は以下のようになります。

ThinkCentre M75q-1 構成内容

AMD Ryzen 5 Pro 3400GE (3.30GHz, 2MB)
Windows 10 Home 64bit
Windows 10 Home 64bit – 日本語版/英語版選択可能
Tiny
8GB PC4-21300 SODIMM
内蔵グラフィックス
128GB M.2 2242 NVMe
内蔵ギガビットイーサネット
HDMIポート
65W ACアダプター
内部モノラルスピーカー (1.5W)
日本語
1 Year On-site

小計(税込):¥33,220
配送料金:¥0
配送方法:標準配送
合計:¥33,220

NVMe の SSD が付いてくるのは嬉しいです。容量は128GB で、WEB+DBサーバ利用には十分すぎます。メモリも8GB あれば当分は十分ですね。Windows10 はどうでもいいんですが、まぁ、最初の動作確認ですかね。32インチモニタの裏側につけて一体型PCっていうのも5万台で作れます。
WiFi は、4000円くらいしたので外しました。サーバ機は有線ギガビットでしかつなぎませんので。

 ! このスペックをクラウドのインスタンスで表現するなら以下な感じ。

・東京リージョン
・vCPU x 8、メモリ 8 GB
・128GB SSD

すばらしい!じゃありませんか!(笑)月額だと、この値段は2万くらい(想像)はします。

 

これと同等のCPUは、Ryzen 5 3400G ですがこの値段は2020/03/15時点で約2万します。

価格 com AMD Ryzen 5 3400G BOX 価格比較

価格推移は以下。

価格 com AMD Ryzen 5 3400G BOX 価格推移グラフ

3.3万のうち、2万はCPUで残り、1.3万は 128GB の NVMeのSSD がアリエク価格で2,734円。あと1万はマザーや電源やファン、OSといったところでしょうか。そうやって計算すると、ギリギリ採算は取れるのでしょうかね。いずれにしてもこの小さな筐体ではDIYでは作れないのです。

で、さらに購入の決め手は分割払い金利0%!

JACCS ショッピングクレジット 個人向け分割払い レノボジャパンジャンクハックの研究予算は月額2万以内と決めているので、迷っていまいましたがこれはもう、買うしかないですね。

ということで、到着するまでにネットワーク周りの下準備をしておかないとですね。今年の9月まではテスト期間ということになりそうです。夏場を超えますね。さて、どうなることやら。

・・・続く

ヤフオクでゲットした業務用ルータFITELnet F60で「v6プラス」固定IPを設定例のまま入れた!

うーん! FITELnet F60でファームウェアを最新にあげて、「v6プラス」固定IPの設定例に従ったんだけども、うまくいきませんね。とりあえず、その記録でもつけておきます。

まず、設定ネタ元は

設定例
古河電工 FILTELnet-Fシリーズ設定例

::

JPNE社v6プラス「固定IPサービス」を利用する
<LAN側ではIPv4のみ利用する場合>
 1. NAPTで利用する
 2. 1対1NATで利用する
<LAN側でIPv4とIPv6をデュアルスタックで利用する場合>
 1. NAPTで利用する
 2. 1対1NATで利用する

4種類のやりかたで、NAPT(※1)と、1対1のNATが IPv4、またはデュアルスタックのLAN運用の例が載っています。

※1 (NAPT - @IT ネットワーク用語事典 より引用)
NAPTとは、1つのグローバルIPアドレスを複数の端末で共有するためのネットワークアドレス変換技術の1つ。 TCP/UDPのポート番号も含めて変換することで、複数の端末を同時接続させることができる。 LinuxにおけるNAPTの実装をIPマスカレードと呼ぶ。

まず、NAPT の設定をいれてリブートするとシステムが完全にブートせず、工場出荷状態に初期化しないと起動できない事態になりますた!

状況としては、1対1のNATの設定例だと起動はするんですが、WAN側のIPv4が設定されないんです。(IP address EWAN1 is not configured)
以下、何が正しい状態なのか、まだ不明なんですが、該当する部分の情報を見てみました。これは、一番単純な、IPv4 だけをLAN側で使い、1対1のNATをしたときの記録です。一番、簡単なのから見ていかないと混乱しそうなので。

WAN側のIPv4情報です。一部、xxxで伏字にしておきます。コマンド入力部分は赤字にしておきます。

FITELnet>show interface ewan 1

EWAN1 is up
Hardware is Fastethernet, address is 0080.xxxx.xxxx
IP address EWAN1 is not configured ★この部分は、WAN側のIPv4固定アドレスが表示されないのかな?
Encapsulation ARPA
ARP type: ARPA, ARP Timeout 00:20:00
Last clearing of "show interface" packet counters never
Statistics:
3212 packets input
535475 bytes input, 3 errors
2271 unicasts, 0 broadcasts, 938 multicasts
0 discards, 0 unknown protocol
5417 packets output
774071 bytes output, 0 errors
5413 unicasts, 0 broadcasts, 4 multicasts
0 discards

次、 IPv6 は取得できているか確認してみます。

FITELnet>show ipv6 interface ewan 

EWAN1 is up
IPv6 is enabled, link-local address is fe80::xxx:xxxx:xxxx:7761
Global unicast address(es):
240b:10:xxxx:2600:xx:xxxx:xxxx:0, subnet is 240b:10:8401:2600::/64
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^★IPv6グローバルアドレス
Joined group address(es): ★次の3行は自動設定されたマルチキャストグループアドレス
ff02::1:ff00:0
ff02::1
ff02::1:ff43:7761
MTU is 1500 bytes
ICMP error messages limited to 100 per second
ND reachable time is 43000 milliseconds
ND advertised reachable time is 0 milliseconds
ND advertised retransmit interval is 0 milliseconds
ND router advertisements are sent every 200 seconds
ND router advertisements live for 1800 seconds
ND router solicit transmission first delay time is 0 seconds
ND router solicit transmission interval is 4 seconds
ND router solicit transmission times is 3
Hosts use stateless autoconfig for addresses.
Current Hop Limit:64
reachable time 43000ms (base 30000ms)
retransmission interval 1000ms

IPv6のトンネルは作られているんでしょうか? up となっていますが、IPIPの場合は、IP address TUNNEL1 is〜 の部分にIPが出ないのか気になります。なんかだめっぽいような気がしますが、どうでしょうか。

FITELnet>show interface tunnel 1

TUNNEL1 is up
Hardware is Tunnel
IP address TUNNEL1 is not configured.★ここ
Encapsulation TUNNEL, point-to-point link
Tunnel source 240b:10:xxxx:2600:xx:xxxx:xxxx:0 ★wan側のIPv6グローバルアドレス
Tunnel destination yyyy:yyyy:yyy:yyyy::yy (BRアドレスです)
Tunnel protocol/transport IPIP
Last clearing of "show interface" packet counters never
Statistics:
344 packets input
14788 bytes input, 0 errors
344 unicasts, 0 broadcasts, 0 multicasts
0 discards, 0 unknown protocol
3460 packets output
317170 bytes output, 0 errors
3460 unicasts, 0 broadcasts, 0 multicasts
0 discards
::

FITELnet>show ipv6 interface tunnel 1

TUNNEL1 is up
IPv6 is enabled
link-local address is not configured
Global unicast address is not configured
MTU is 1460 bytes

ルーティング情報はどうなっているか、確認してみましょう。

FITELnet>show ip route

Max entry: 10000 (Commonness in IPv4 and IPv6)
Active entry:3 (IPv4), 4 (IPv6) Peak:3

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF
B - BGP, I - IKE, U - SA-UP, D - REDUNDANCY, E - EventAction
A - AutoConfig, P - l2tp-ppp
> - selected route, * - FIB route, p - stale info.

S> * 0.0.0.0/0 [100/0] is directly connected, TUNNEL1
C> * 127.0.0.0/8 is directly connected, LOOP0
C> * 192.168.0.0/24 is directly connected, LAN

Linux の表記とは違いますが、S> がスタティックルートってことで、トンネル(TUNNEL1)に行くようです。IPv6のルーティングは以下。

FITELnet>show ipv6 route

Max entry: 10000 (Commonness in IPv4 and IPv6)
Active entry:3 (IPv4), 4 (IPv6) Peak:4

Codes: K - kernel route, C - connected, S - static, R - RIPng,
B - BGP, P - Pooled, D - Dhcppd,
> - selected route, * - FIB route, p - stale info.
S> * ::/0 [1/0] via fe80::xxx:xxxx:xxxx:e2e0, EWAN1
                    ^^^^^^^^^^^^^^^^^^^^^^^^★これは何でしょうか。今まで出てきていないアドレスです。 via の次なのでネクストホップですね。
C> * ::1/128 is directly connected, LOOP0
C> * 240b:10:xxxx:2600::/64 is directly connected, EWAN1
   ^^^^^^^^^^^^^^^^^★グローバルIPの上半分
C> * fe80::/64 is directly connected, EWAN1

 

うーん、よくわかりませんね。どういう状態になれば良くて、上記の何が悪いのか? わからないところがわかれば、次へ進めますので情報を整理してみましょう。

・WAN側のIPv6グローバルアドレスは取れている

・WAN側のIPv4固定アドレスが表示されない(設定されていない?)

・トンネル接続の情報が正しいのか、悪いのかわからない。
 >IPv6トンネルのルータ側、BR側は表示されている。
 >IP address TUNNEL1 is〜 が表示されていない(IPIPタイプは表示されるはず)

あ、NATの状況を確認していなかったですね。

FITELnet>show ip nat translation

Session summary (equipment total):
Max sessions: 2048
Reserved sessions: 0
Active sessions: 106 Peak: 257

List of active sessions:

TUNNEL1
Local(address port) Global(address port) Remote(address port) prot tm(s)
---------------------+---------------------+---------------------+----+-----
192.168.0.2 6881 1xx.xxx.xxx.xx4 6881 62.xxx.xxx.10 6881 udp 296
192.168.0.2 6881 1xx.xxx.xxx.xx4 6881 178.xx.xxx.64 6881 udp 290
:: ^^^^^^^^^^^^^^^★これは固定IPです。
以下大量に続く!

ん? めっちゃ大量に出ますね。ここまで夢中になってマニュアルと、コンソールをいったりきたりしていましたがふとネットを見るとつながるじゃないですか!!!

アクセス情報 使用中のIPアドレス確認

きた〜〜〜〜〜!

あなたの IPv6 をテストしましょう

IPv4 ですが、つながれば嬉しい! 何が悪かったんだろう! というか、NATの経路が登録されるまでアクセスできなかったということでしょうか?

とりあえず、記念に速度計測しておきます。(現在、日曜日の早朝4:00ごろ)

インターネット回線の速度テスト Fast com

Naniwa ってことは大阪から出ているんでしょうか? 速度は何回か計測しましたが、これが上限ぽいです。

 

いやぁ〜、当初は繋がらなくてしょんぼりしていましたがとりあえず繋がってよかったです。ちょっと疲れたので、この根本原因の追究はまたにすることにします。

最後に、備忘録として設定したコマンドを一部伏字で載せておきます。

JPNE社v6プラス「固定IPサービス」を利用する
<LAN側ではIPv4のみ利用する場合>
 ::
 2. 1対1NATで利用する
 ::

この1対1NAT の設定そのまんま。

JPNE社v6プラス「固定IPサービス」を利用する
~LAN側ではIPv4のみ利用する場合(1対1NATで利用する)~
::

まず、特権モードで設定を初期化。

enable
clear working.cfg
save SIDE-A.cfg

configure terminal

あとは、以下をコピペ

ip route 0.0.0.0 0.0.0.0 tunnel 1 100
ip name-server 127.0.0.1
!
access-list 1 permit 192.168.0.0 0.0.0.255
!
ipv6 route ::/0 ewan 1
!
proxydns mode both
!
service dhcp-server
!
hostname FITELnet
!
mss lan 1 1400
!
http-client 1
request-timeout 10 retry 3
method 1 get url http://xxx.xxx.xxx.xxx/update user XXXX pass YYYY
reference-interface ewan 1
source-interface ewan 1
logging error
exit
!
ip dhcp pool lan 1
dns-server 0.0.0.0
default-router 0.0.0.0
lease 0 8
exit
!
interface ewan 1
ddns-client address ipv6 action http-client 1 delay 30 interval 30
ipv6 enable
ipv6 address autoconfig interface-id インターフェイスID
ipv6 nd receive-ra
ipv6 mtu 1500
ipv6 dhcp client NGN
exit
interface lan 1
ip address 192.168.0.1 255.255.255.0
exit
interface tunnel 1
tunnel mode ipip
tunnel source ipv6 ewan 1
tunnel destination BRアドレス
ip mtu 1460
ip nat inside source static 192.168.0.2 v4IPアドレス
ip nat inside destination static v4IPアドレス 192.168.0.2
exit
!
ipv6 dhcp client-profile NGN
option-request dns-servers
exit
!
end

で、設定をセーブしてリブート。

save SIDE-A.cfg
reset

あとは、WEBの設定確認画面もあるので、http://192.168.0.1/ にアクセス。これは、パスワードを設定しておかないと見れないです。

FITELnet#password enable 
Enter now password:初期化後ならパスワードなし。エンターで。
Enter new password:新しいパスワード
Retype new password:再入力

ついでに、ログインパスワードも設定。

FITELnet#password login
Enter now password:
Enter new password:
Retype new password:

WEB画面は、やっぱり便利ですね。

FITELnet F60 装置情報