apacheの勉強した内容
ServerRoot :Apacheのインストールされているディレクトリ
PidFile:デーモンのプロセス ID をサーバが記録するためのファイルを指定する
Timeout :下のイベントについて、リクエストを失敗させるまでにサーバが待つ時間
・GETリクエストを受け取るのにかかる総時間
・POSTやPUTリクエストにおいて、次のTCPパケットが届くまでの待ち時間
・レスポンスを返す際、TCP の ACK が帰ってくるまでの時間
KeepAlive:クライアントとの接続を持続する(ON)か、1つのリクエストごとに接続を切断する(OFF)かを設定
一連のページアクセスを行うときも複数のリクエストと応答で構成されている。OFFにしておくと、一連のページアクセスの中でも接続と切断をすることになり、処理性能が悪化する。
MaxKeepAliveRequests : KeepAlive接続で許可されるリクエストの数
◆待ち受けプロセス数の調整
Apacheは複数のプロセスで動作する。それぞれのプロセスがアクセスを待ち、複数のアクセスを同時に処理できるような構造になっている。
プロセス数が多すぎるとOSがプロセスの処理するのが大変で、性能劣化
プロセス数が少なすぎると処理できるアクセスが少なる。
◆prefork
StartServers :起動時に生成されるhttpdプロセスの数
MinSpareServers:待ち受け中のhttpdプロセスの最小個数
MaxSpareServers:待ち受け中のhttpdプロセスの最大個数
ServerLimit:
MaxClients
MaxRequestsPerChild
◆# worker
ServerLimit :サーバプロセス数の上限値(Apache が起動できるプロセス数の上限)
ThreadLimit :プロセス毎のスレッド数の上限値。
StartServers :初期サーバ数(Apache の起動時に生成するプロセス数)
MaxClients :最大同時接続クライアント数(各プロセスのスレッドの合計値)
MaxClients = ServerLimit × ThreadLimit
MinSpareThreads :アイドルスレッド(リクエスト処理を受付られる状態のスレッド)の最小数。
MaxSpareThreads :アイドルスレッド(リクエスト処理を受付られる状態のスレッド)の最大数
ThreadsPerChild :プロセス当りのスレッド数
MaxRequestsPerChild :子プロセスが稼働中に扱うリクエスト数の上限。
ExtendedStatus :server-statusハンドラを実行する際に現在処理しているURLやリソースに関する情報も合わせて取得する。