2016-07-26 6 views
-1

私が実行しているsymfonyの開発時にサーバーを内蔵しており、CLI.exe(php bin/console server:runて呼ばれていますPHPのコマンドラインインターフェイス)のCPU使用率が場合でも、常に30%程度であることに気づきましたアイドル。symfonyのビルトインサーバー高いCPU使用率

私はWindows Powershellから起動します。なぜこれがアイドルタイムの間に起こるのか?

+2

pluppfiskは何を期待していますか?これはSymfonyを実行する方法ではなく、@Chrisは正しいです。 –

答えて

4

PHP's built-in web server is only meant to be used during development

このWebサーバーは、アプリケーションの開発を支援するために設計された警告。また、テスト目的や制御された環境で実行されるアプリケーションのデモンストレーションにも役立ちます。フル機能のWebサーバーではありません。パブリックネットワーク上では使用しないでください。

パフォーマンスの保証はなく、CPU使用率が高いことに驚くことはありません。

Symfony documentationは、それが唯一の利便性と意味していることを示唆している:

この方法で、あなたがApacheやnginxのような完全な機能を備えたWebサーバーを設定する気にする必要はありません。

もちろん、実世界での使用にさらに調整が必要な場合は、フル機能のWebサーバーを開発中に自由に実行することができます。

+1

十分に問題はありませんが、アイドル時にCPUを使用する理由は何ですか。本当に何もしてはいけません。 Apache Webサーバーを使用してもコンソールが表示されず、頻繁にキャッシュをクリアする必要があるため、現時点では適切なオプションではありません。 – bluppfisk

+0

@bluppfisk、それは[イベントループを実行しているようです](https://github.com/php/php-src/blob/2809a676b55cebd4c6f8a8895ffe286db0704e87/sapi/cli/php_cli_server.c#L2449-L2474)。私はそれが良いアプローチかどうかを知るためにウェブサーバーについて十分に知りませんが、接続をリッスンしている間に何かをしていることは明らかです。 – Chris

+0

それを指摘してくれてありがとう。面白い。しかし、携帯電話の開発が難しくなり、バッテリーが3時間ですっかり消耗してしまい、迷惑をかけることにもなります。 – bluppfisk