centos7 httpsが遅い
ローカル検証用に構築したcenos7(virtualBoxで構築)のHTTPSのリクエストがクッソ遅くて大変だった
その時のことを備忘録として記載
【結論】
ipv6設定を無効にする
コマンド:
vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
shutdown -r
参考:
CentOS 7のインストール後におこなうLinuxの基本設定 13ポイント - レムシステム エンジニアブログ
【現象】
ローカルに検証用としてVirtualBoxで構築したCentOS7にもろもろ必要なものインストールしていたら、composerのインストールのためのリポジトリ登録でエラーがが発生。
内容はtimeout
【検証】
なんでタイムアウトしているのか原因不明だったためHTTPリクエストとHTTPSリクエストをcurlで投げてみた
HTTPリクエスト:
curl --location --request GET 'https://httpbin.org/'
curl --location --request GET 'https://www.google.com/'
すると、HTTPリクエストは即時レスポンスを取得できているのに、HTTPSリクエストは5分以上かかってレスポンスを取得していた。遅いけどレスポンス取得はできていた。
【原因】
よくわからんがHTTPSのレスポンス取得がめちゃくちゃ遅いために、timeout値こえて待てなくてエラー(タイムアウト)が発生している。
これだととても都合がわるい。環境構築のためのもろもろがインストールできない。
【調査】
centos HTTPS 遅い とかでググってもなかなかいい記事に行き当たらない。
そのためそもそもLINUX環境構築時に行うことに立ち戻っている記事を見つけたので、そちらを参考にもろもろ試してみることにした。
参考記事:
CentOS 7のインストール後におこなうLinuxの基本設定 13ポイント - レムシステム エンジニアブログ
【結果】
ipv6設定を無効にする を対応したらHTTPSリクエストのレスポンスが即時取得可能になった。
【推測】
ipv6設定が有効だとそっちでHTTPSリクエスト飛ばしているのかな?それでだめだったからipv4でリクエスト飛ばしなおしてレスポンスを取得。この一連の流れの最初と最後だけ見た場合5分レスポンス取得までかかるという現象が発生するのではないか?
別の可能性だと、そもそもipv6でのHTTPSリクエストのレスポンス取得がクソほど遅い可能性。
どっちでしょうか。。。追及はしないが、取り急ぎ解決策をここに記載。
【補足】
wgetが遅い場合の対処法 - [Linux [Red Hat/CentOSなど]/サーバー] ぺんたん info
上記サイトと同様の現象が発生している場合、推測の前者が当たってる