ホームページ  >  記事  >  PHPフレームワーク  >  ホストファイル構成エラーによりアプリケーションの遅延が発生する (Laravel-Sail 開発環境)

ホストファイル構成エラーによりアプリケーションの遅延が発生する (Laravel-Sail 開発環境)

藏色散人
藏色散人転載
2021-06-18 15:47:202584ブラウズ

次の laravel のチュートリアル コラムでは、不適切なホスト ファイル構成 (Laravel-Sail 開発環境) によって引き起こされるアプリケーション ラグの問題を紹介します。それを必要としている友達に役立つでしょう。助けてください!

今日はプロジェクトのソースコードをプルダウンして、新しい Laravel-Sail 開発環境を使用しましたが、以前の Homestead 開発環境は単なるバックアップとなっています。最初は、依存関係のインストール、コンテナーの起動、データの移行など、すべてがスムーズに進みました。その後、開発用のドメイン名をホスト ファイルに喜んで構成しました:

127.0.0.1 devocus.test

ブラウザを開いて、http :/ にアクセスします。 /devocus.test:8016, すべてがうまくいっていると思っていましたが、ページが常に読み込まれていることがわかり、完全なインターフェイスが読み込まれるまでに 30 秒近くかかりました。困惑しました。他にもいくつかのプロジェクトがあり、いつもLaravel-Sail 開発環境を使用すると、ほとんどの場合数秒で開始されます。このプロジェクトは肥大化していますか?

その後、ブラウザーの開発者ツールを開いたところ、すべてのリクエストに 30 秒以上かかったことがわかりました。ファイル IO の問題が発生しましたか?しかし、私のプロジェクトは Ubuntu サブシステムに配置されています。ネット障害?その他の項目は全く正常です。ファイルのパーミッションを変更する、ラダーを閉じる、コンテナを削除して再作成するなど、考えられるすべての解決策を試しましたが、役に立ちませんでした。

そこで、Telescope をインストールし、各リクエストの詳細を確認しました。Telescope を開くのも非常に遅く、Telescope インターフェイスが最終的にロードされるまで約 1 分待ちました。しかし、クエリ結果には非常に驚きました:

记一次 hosts 文件配置错误导致的应用卡顿问题

Telescope は、各リクエストが非常に高速に処理され、データ クエリも非常に高速であることを示しています。私は驚きました...

そこで、同僚のコンピュータで試してみました。開発環境はLaravel-Sailでした。思いがけず、同僚のコンピュータでもアクセスが非常に遅かったのです。これがそのまま「問題がある」という方向に考えを導きました。プロジェクトコード」を参照して、午前中をかけてさまざまな設定ファイルとenvファイルを慎重に比較および確認し、laravelとさまざまな依存バージョンをアップグレードしました。しかし、大きな期待を持ってブラウザでアプリケーションを開くたびに、依然としてフリーズして人生を疑いますが、ログ記録はすべて正常です。次に、検索エンジンを使用してこの問題の解決策を探しますが、中国語または英語で検索しても結果がありません。一日経ってもこの問題は解決せず、絶望感さえ覚えました。

最後に、まずは昼食をとりに行ってリラックスすることにしました。夕食の帰り道、もう一度この疑問について考えたとき、頭の中で調べたさまざまな答えが次々と浮かび上がり、突然目の前に「hosts」という言葉が浮かんできました。
ワークステーションに戻って、コンピューターの電源を入れ、IP を使用してアプリケーションに直接アクセスして状況を確認しようと考えたので、ブラウザを開くと、インターフェイスがすぐに開きました。おそらく少し混乱したので、hosts ファイルを開いてドメイン名を変更することを考えました: <pre class="brush:php;toolbar:false"># 127.0.0.1 devocus.test 127.0.0.1 ifocus-dev.test</pre> それからブラウザを開き、

http:// と入力しました。 ifocus-dev.test:8016

を適用して、すぐにスムーズに開き、問題は不可解にも解決されました。 しかし、何が問題なのでしょうか?もう一度hostsファイルを開いてよく確認してみると、以前にやったのと同じドメイン名の解決がhostsファイルの中にひっそりと眠っていたので、開発環境をHomesteadからLaravel-Sailに移行した際に修正を忘れていました。 hosts ファイル:

...
192.168.10.10 devocus.test
...
# 127.0.0.1 devocus.test
127.0.0.1 ifocus-dev.test

hosts ファイルで、同じドメイン名が 2 つの IP に解決される場合はどうなりますか?検索エンジンで検索したところ、次のような答えが見つかりました:

コンピューターは、hosts ファイルの IP を
上から下まで

に検索します。同じドメイン名の場合は、最初のアドレスを取得します。 IP: 最初の IP がブロックされた場合、2 番目の IP または N 番目の IP に切り替わります。ただし、この方法では負荷分散効果は得られませんが、Web サイトが開く可能性は高くなります。

devocus.test

を 2 つの IP アドレス (192.168.10.10 と 127.0.0.1) に解析したため、ブラウザで http:// を開くと devocus.test 、最初は 192.168.10.10 にアクセスしますが、ホームステッドが閉鎖されているため、アクセスは失敗するはずです。このプロセスは約 30 秒続きます。その後、システムはホスト ファイル内の他の IP の検索を続け、Web ページを見つけます。 127.0.0.1 にアクセスした場合にのみ開かれました。すべてのリクエストがこのプロセスを通過する必要があるため、システムが非常に行き詰まっていると感じます。この時点で、私を悩ませていた問題は解決されました。 <p>ですから、プロジェクトを開発する際には、皆さんもこうした微妙な問題にもっと注意を払う必要があります。小さな問題が大きな問題を引き起こすこともよくあります。私のような独善的なベテランでも、深い落とし穴にはまってしまいます。ソフトウェア業界は実際には、絶えず穴を踏み、穴を掘り、穴を埋める必要がある現実的な業界です。 </p> <p>しかし考えてみると、もし当時ホームステッド環境が開いていたら、もっと困っていたかも知れません。 <span class="rm-link-color"></span></p>

以上がホストファイル構成エラーによりアプリケーションの遅延が発生する (Laravel-Sail 開発環境)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。