Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2
説明: | マルãƒã‚¹ãƒ¬ãƒƒãƒ‰ã¨ãƒžãƒ«ãƒãƒ—ãƒã‚»ã‚¹ã®ãƒã‚¤ãƒ–リッド型 ウェブサーãƒã‚’実装ã—ãŸãƒžãƒ«ãƒãƒ—ãƒã‚»ãƒƒã‚·ãƒ³ã‚°ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« |
---|---|
ステータス: | MPM |
モジュールè˜åˆ¥å: | mpm_worker_module |
ソースファイル: | worker.c |
ã“ã®ãƒžãƒ«ãƒãƒ—ãƒã‚»ãƒƒã‚·ãƒ³ã‚°ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« (MPM) ã¯ã€ãƒžãƒ«ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã¨ãƒžãƒ«ãƒãƒ—ãƒã‚»ã‚¹ã®ãƒã‚¤ãƒ–リッド型サーãƒã‚’ 実装ã—ã¦ã„ã¾ã™ã€‚リクエストã®å¿œç”ã«ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’使ã†ã¨ã€ プãƒã‚»ã‚¹ãƒ™ãƒ¼ã‚¹ã®ã‚µãƒ¼ãƒã‚ˆã‚Šã‚‚å°‘ãªã„システム資æºã§ã€ 多ãã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¿œç”ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã•らã«ã€å¤šãã®ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’æŒã£ãŸè¤‡æ•°ã®ãƒ—ãƒã‚»ã‚¹ã‚’ç¶æŒã™ã‚‹ã“ã¨ã§ã€ プãƒã‚»ã‚¹ãƒ™ãƒ¼ã‚¹ã®ã‚µãƒ¼ãƒã®æŒã¤å®‰å®šæ€§ã‚’ä¿æŒã—ã¦ã„ã¾ã™ã€‚
ã“ã® MPM を制御ã™ã‚‹ã®ã«ä½¿ã‚れる最もé‡è¦ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã€
ThreadsPerChild
ã¨
MaxClients
ã§ã™ã€‚
ThreadsPerChild
ã¯
å„åプãƒã‚»ã‚¹ã§ç”¨æ„ã•れるスレッド数を制御ã—ã¦ã€
MaxClients
ã¯
èµ·å‹•ã•れるスレッドã®ç·æ•°ã®æœ€å¤§å€¤ã‚’制é™ã—ã¾ã™ã€‚
一ã¤ã®åˆ¶å¾¡ç”¨ãƒ—ãƒã‚»ã‚¹ (親) ãŒåプãƒã‚»ã‚¹ã‚’èµ·å‹•ã—ã¾ã™ã€‚
åプãƒã‚»ã‚¹ã¯
ThreadsPerChild
ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§æŒ‡å®šã•れãŸä¸€å®šæ•°ã®ã‚µãƒ¼ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã¨æŽ¥ç¶šã‚’
listen ã™ã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’一ã¤ä½œã‚Šã¾ã™ã€‚
Listener ã‚¹ãƒ¬ãƒƒãƒ‰ã¯æŽ¥ç¶šãŒæ¥ãŸã¨ãã«ã‚µãƒ¼ãƒãƒ—ãƒã‚»ã‚¹ã«æ¸¡ã—ã¾ã™ã€‚
Apache ã¯ã‚¹ãƒšã‚¢ã®ã€ã¤ã¾ã‚Šã‚¢ã‚¤ãƒ‰ãƒ«ãªã‚µãƒ¼ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã®
プールを常ã«ç¶æŒã—ã¦ã„ã¦ã€ãれらã¯å…¥ã£ã¦ãるリクエストã«
ç”ãˆã‚‰ã‚Œã‚‹ã‚ˆã†ã«å¾…機ã—ã¦ã„ã¾ã™ã€‚
ã“ã®ã‚ˆã†ã«ã—ã¦ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å¿œç”ãŒå¾—られるよã†ã«ãªã‚‹ãŸã‚ã«
æ–°ã—ã„スレッドやプãƒã‚»ã‚¹ãŒç”Ÿæˆã•れるã®ã‚’
å¾…ãŸãªãã¦ã‚‚よã„よã†ã«ãªã£ã¦ã„ã¾ã™ã€‚
èµ·å‹•åˆæœŸæ™‚ã®ãƒ—ãƒã‚»ã‚¹ç·æ•°ã¯ã€
StartServers
ディレクティブã§è¨å®šã•れã¾ã™ã€‚ãã®å¾Œã®ç¨¼åƒä¸ã«ã€
Apache ã¯å…¨ãƒ—ãƒã‚»ã‚¹ã®ã‚¢ã‚¤ãƒ‰ãƒ«ã‚¹ãƒ¬ãƒƒãƒ‰ã®åˆè¨ˆæ•°ã‚’見ç©ã‚‚ã£ã¦ã€
MinSpareThreads
ã¨
MaxSpareThreads
ã§æŒ‡å®šã•れãŸç¯„囲ã®ä¸ã«ã“ã®æ•°ãŒåŽã¾ã‚‹ã‚ˆã†ã« fork ã—ãŸã‚Š
kill ã—ãŸã‚Šã—ã¾ã™ã€‚ã“ã®æ“作ã¯éžå¸¸ã«è‡ªå¾‹çš„ãªã®ã§ã€
ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–をデフォルト値ã‹ã‚‰å¤‰æ›´ã™ã‚‹å¿…è¦ã¯
ã‚ã£ãŸã«ãªã„ã§ã—ょã†ã€‚
åŒæ™‚ã«å¿œç”ã™ã‚‹ã“ã¨ã®ã§ãã‚‹ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆæ•°ã®æœ€å¤§æ•°
(ã¤ã¾ã‚Šå…¨ãƒ—ãƒã‚»ã‚¹ä¸ã®ç·ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã®æœ€å¤§å€¤) ã¯
MaxClients
ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§æ±ºå®šã•れã¾ã™ã€‚
活動ä¸ã®åプãƒã‚»ã‚¹æ•°ã®æœ€å¤§å€¤ã¯
MaxClients
ã‚’
ThreadsPerChild
ã§å‰²ã£ãŸ
ã‚‚ã®ã«ãªã‚Šã¾ã™ã€‚
活動ä¸ã®åプãƒã‚»ã‚¹ã®æ•°ã¨åプãƒã‚»ã‚¹ä¸ã®ã‚µãƒ¼ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã®æ•°ã®è¶Šãˆã‚‰ã‚Œãªã„
上é™ã‚’è¨å®šã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ãŒäºŒã¤ã‚りã¾ã™ã€‚ã“れらã¯ã‚µãƒ¼ãƒã‚’
完全ã«åœæ¢ã—ã¦ã€å†èµ·å‹•ã™ã‚‹ã“ã¨ã§ã—ã‹å¤‰æ›´ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
ServerLimit
ã¯æ´»å‹•ä¸ã®åプãƒã‚»ã‚¹ã®è¶Šãˆã‚‰ã‚Œãªã„上é™ã‚’è¨å®šã—ã€
MaxClients
ディレクティブ
ã®å€¤ã‚’
ThreadsPerChild
ã®å€¤ã§å‰²ã£ãŸå€¤ä»¥ä¸Šã§ã‚ã‚‹
å¿…è¦ãŒã‚りã¾ã™ã€‚ThreadLimit
ã¯
サーãƒã‚¹ãƒ¬ãƒƒãƒ‰ã®è¶Šãˆã‚‰ã‚Œãªã„上é™ã§ã€ThreadsPerChild
ディレクティブã®
値以上ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚デフォルト以外ã®å€¤ã‚’指定ã™ã‚‹å ´åˆã¯
ä»–ã® worker
ディレクティブよりもå‰ã«æ›¸ã‹ã‚Œã¦ã„ã‚‹
å¿…è¦ãŒã‚りã¾ã™ã€‚
活動ä¸ã®åプãƒã‚»ã‚¹ç¾¤ã«åŠ ãˆã¦ã€å°‘ãªãã¨ã‚‚一ã¤ã®ã‚µãƒ¼ãƒã‚¹ãƒ¬ãƒƒãƒ‰ãŒ
æ—¢å˜ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®æŽ¥ç¶šã‚’扱ã£ã¦ã„る終了ã—よã†ã¨ã—ã¦ã„ã‚‹
åプãƒã‚»ã‚¹ãŒã‚ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚終了ä¸ã®ãƒ—ãƒã‚»ã‚¹ã¯ MaxClients
ã§æŒ‡å®šã•ã‚ŒãŸæ•°ã¾ã§
å˜åœ¨ã§ãã¾ã™ãŒã€å®Ÿéš›ã«æœŸå¾…ã•れる数ã¯ãšã£ã¨å°‘ãªããªã‚Šã¾ã™ã€‚ã“ã®
振舞ã„ã¯å„åプãƒã‚»ã‚¹ã‚’終了ã•ã›ãªã„よã†ã«ã™ã‚‹ã“ã¨ã§å›žé¿ã§ãã¾ã™ã€‚
ã“れã¯ä»¥ä¸‹ã®æ§˜ã«ã—ã¦å®Ÿç¾ã§ãã¾ã™ã€‚
MaxRequestsPerChild
ã®å€¤ã‚’ 0 ã«è¨å®šã™ã‚‹
MaxSpareThreads
ã®å€¤ã‚’
MaxClients
ã¨åŒã˜å€¤ã«ã™ã‚‹worker
MPM ã®å…¸åž‹çš„ãªãƒ—ãƒã‚»ã‚¹ãƒ»ã‚¹ãƒ¬ãƒƒãƒ‰åˆ¶å¾¡ã®
è¨å®šã§ã¯ã€æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
ServerLimit 16
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
通常 Unix ã§ã¯è¦ªãƒ—ãƒã‚»ã‚¹ã¯ 80 番ãƒãƒ¼ãƒˆã«ãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹ãŸã‚ã«
root
ã§èµ·å‹•ã•れã¾ã™ãŒã€åプãƒã‚»ã‚¹ã‚„スレッドã¯
ã‚‚ã£ã¨ä½Žã„権é™ã®ãƒ¦ãƒ¼ã‚¶ã§ Apache ã«ã‚ˆã£ã¦èµ·å‹•ã•れã¾ã™ã€‚
User
ã¨
Group
ディレクティブã¯
Apache ã®åプãƒã‚»ã‚¹ã®æ¨©é™ã‚’è¨å®šã™ã‚‹ã®ã«ç”¨ã„られã¾ã™ã€‚
åプãƒã‚»ã‚¹ã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„å…¨ã¦ã‚’èªã‚ãªã„ã¨ã„ã‘ã¾ã›ã‚“ãŒã€
å¯èƒ½ãªé™ã‚Šå¿…è¦æœ€å°é™ã®æ¨©é™ã®ã¿ã‚’æŒã£ã¦ã„るよã†ã«ã™ã‚‹ã¹ãã§ã™ã€‚
ã•らã«ã€suexec
ãŒä½¿ç”¨ã•れã¦ã„ãªã„é™ã‚Šã€ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯
CGI スクリプトã§ç¶™æ‰¿ã•れる権é™ã‚‚è¨å®šã—ã¾ã™ã€‚
MaxRequestsPerChild
ã¯ã€å¤ã„プãƒã‚»ã‚¹ã‚’åœæ¢ã—ã¦æ–°ã—ã„プãƒã‚»ã‚¹ã‚’èµ·å‹•ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€
ã©ã®ç¨‹åº¦ã®é »åº¦ã§ã‚µãƒ¼ãƒãŒãƒ—ãƒã‚»ã‚¹ã‚’リサイクルã™ã‚‹ã‹ã‚’制御ã—ã¾ã™ã€‚