PageSpeed Insightsはどこからどのようにリクエストを送るのか

PageSpeed Insightsを実行すると、どの国や地域からリクエストが送られてくるのか調べてみました。

# サンプル

* PageSpeed Insights APIからのHTTPリクエスト 11,122件
* 対象サイト 6サイト(6ドメイン)
* 期間 2019年7月23日〜8月8日

# User-AgentとAcceptヘッダ

PageSpeed Insightsの内部ブラウザは、`User-Agent`リクエストヘッダとして次の文字列を送信しました。

* モバイルの場合 `Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3694.0 Mobile Safari/537.36 Chrome-Lighthouse`
* デスクトップの場合 `Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3694.0 Safari/537.36 Chrome-Lighthouse`

Chromeはバージョン74を名乗っています。

`Accept`リクエストヘッダは次のパターンがあります。

* `*/*`
* `text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3`

それぞれのリクエストタイプを取り損ねてしまったのですが、`Accept`ヘッダでWebP画像の振り分けをしているサイトにはPageSpeed Insightsも対応しています。

ちなみにLighthouseのバージョンはすべて`5.0.0`でした。

# アクセスは海外(主に米国)から

送信元ネットワークにはばらつきが見られましたが、とにかく海外からアクセスがあると見て間違いありません。
`74.125.208.*`だけは[DB-IP](https://www.db-ip.com/)によるとオランダの可能性があります。

| クラスCネットワーク | ユニークIP | リクエスト数 | リクエストの割合 | WHOIS CIDR      | WHOIS Organization | WHOIS Country | DB-IP Country | DB-IP Region |
|---------------------|------------|--------------|--------------------|-----------------|--------------------|---------------|---------------|--------------|
| 64.233.172.         | 130        | 1646         | 14.80%             | 64.233.160.0/19 | Google LLC (GOGL)  | US            | United States | New Jersey   |
| 66.102.6.           | 99         | 1478         | 13.29%             | 66.102.0.0/20   | Google LLC (GOGL)  | US            | United States | Virginia     |
| 66.102.9.           | 61         | 2343         | 21.07%             | 66.102.0.0/20   | Google LLC (GOGL)  | US            | United States | Virginia     |
| 66.249.81.          | 152        | 2332         | 20.97%             | 66.249.64.0/19  | Google LLC (GOGL)  | US            | United States | Virginia     |
| 66.249.82.          | 134        | 3027         | 27.22%             | 66.249.64.0/19  | Google LLC (GOGL)  | US            | United States | Virginia     |
| 74.125.208.         | 22         | 296          | 2.66%              | 74.125.0.0/16   | Google LLC (GOGL)  | US            | Netherlands   | Groningen    |

# 発信元ネットワークによって役割が違うか

表は割愛しますが、発信元ネットワークによって役割の違いは特になさそうでした。

* モバイルとしての測定と、デスクトップとしての測定で発信元ネットワークに目立った偏りなし
* リクエスト先のドメインによって発信元ネットワークに目立った偏りなし

ランダムに上記のどこかのネットワークからリクエストが送信されるようです。

# 海外からのアクセスだとスコアが低いか

国内のサーバーでホスティングしている弊社のWebサイトについて次のPageSpeecスコア(モバイル)を比較してみます。

**PageSpeed Insights(海外アクセス)の実行結果 (低い！ ^^;)**
![PageSpeed_Insights.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35178/cdb5742c-8d6c-8120-cbb9-e2e6045a695e.png)

**Chrome DeveloperツールのAuditタブ(国内アクセス)の実行結果**
<img width="164" alt="DevTools_-_www_ideamans_com_.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35178/60bd265e-7f83-1f29-a470-d43094404351.png">

Lighthouseのバージョンが違うかもしれませんが、14ポイントもの差が出ました。

モバイルデバイスとしての計測時は、ネットワークのスピードが**遅い4G程度にシミュレートされる**と言われています。

そのため海外からでも国内からでも通信速度に大差がないように思えますが、パケットのラウンドトリップやTTFBの差までは考慮されていないのではないかと推測します。

そう考えると米国やGCPでホスティングするとスコアには有利かもしれません。検索順位に関係するスコアがどのように測定されているかはわかりませんが…