httpdサービスのインタビューの質問

1、httpdサービスのご理解ご相談ください!

A:Apacheはモジュラーサービス、複数の支持モジュール、サーブレット処理モデルを使用して、同期ブロッキング・モデル、動作モードを変更することで、シーンの速度を処理高い並行性が遅く、安定した動作になります。非同期読み込みと書き込みをサポートしています、あなたは正の動きによって分離式を行うことができます。

あなたが知っていることを2、3つの動作モードのhttpdサービス?

A:httpdが3つの動作モードがあります。

preforkの:前産卵子プロセス

preforkのモードは非常に古いが、非常に安定したモードとみなすことができます。サービス開始直後にhttpd、いくつかは、(デフォルトは5である)子プロセスをforkスレッドに子プロセスが対応し、その後に来るの要求を待ち、そして常にいくつかの予備の子プロセスを維持しようとしただろう、そうする理由は、プロセスの作成と破壊のオーバーヘッドの頻度を減らすためです。同じ時点では、スレッドは、唯一のプロセスを処理することができます。

労働者の動作モード

労働者やpreforkのモードモードそれは、マルチスレッド、マルチプロセスモデルを使用するよりも、それはまた、preforkのいくつかのサブプロセスで、それぞれの子プロセスは、いくつかのサービススレッドとリスニングスレッド、スレッドモニタおよびアクセス要求と配信を生成することができますサービスおよび応答にスレッド。非常に同時パフォーマンスで使用される以下の労働者の作業モードメモリは優れていました。複数のサブプロセスが親プロセスのメモリアドレスを共有しているので、しかし、我々は、スレッドの安全性の問題を考慮する必要があります。接続キープアライブ長い場合は、多分ほとんどの要求の真ん中、それが閉塞されます発生し、スレッドが中断され、私たちは、タイムアウトが解除されなくなるまで待つ必要があります。あまりにも多くのスレッドが、それは占領された場合は、サービスが利用でき、高い同時実行のシナリオでスレッドにつながりません。(この問題はpreforkのモードで発生します)。

操作のイベントモード

これは、労働者とモードのように、最大​​の違いは、それが次のキープアライブシナリオ、スレッドが長く占有されたリソースの問題の無駄を解消することで、Apacheの最新のモードです。

操作のイベントモード、スレッドのキープアライブタイプを管理するための専用のスレッドがあるだろう、本当の要求もあってきた場合は、実装後に、サーバーのスレッドに要求を渡し、だけでなく、それを解放することができます。このように、スレッドが複数の要求、および非同期ノンブロッキングを扱うことができます。

それは、特定の互換性のないモジュールに遭遇した場合、イベント作業モードでは、それが失敗し、モデルの労働者、要求を処理するワーカースレッドに戻ります。公式モジュールは、すべての動作モードは、イベントをサポートしていますが付属しています。

3.どこにいくつかの側面のhttpdを最適化することができますか?

  • そのプロセスとスレッドの合理的な配分。
  • httpdのdeflate圧縮を開きます。
  • オープンは、キャッシュ機能を有効期限が切れます。
  • httpdの禁止行為ディレクトリトラバーサル。
  • 隠された情報のhttpdのバージョン。
  • ログ切断機能を有効にします。
  • セキュリティチェーンを構成します。

おすすめ

転載: blog.51cto.com/14154700/2451041