ÀÛ¼ºÀÚ : ±â¼úÁö¿øºÎ ±è »ï ¼ö
bandwidth¸ðµâÀ» ÀÌ¿ëÇÑ ´ë¿ªÆø Á¦ÇÑÇϱâ
mod_bandwidth´Â ¹æ¹®ÀÚÀÇ Á¢¼Ó½Ã Æ®·¡ÇÈÀ» ¾ó¸¶ÀÌÇÏ·Î Á¦ÇÑÇÏ´Â ¼³Á¤ÀÔ´Ï´Ù. Áï, ¼¹ö ÇÑ´ë¿¡ ¿©·¯°³ÀÇ À¥»çÀÌÆ®°¡ ¿î¿µµÇ°í ÀÖ´Â »óȲ¿¡¼ ƯÁ¤À¥»çÀÌÆ®°¡ Àüü Æ®·¡ÇÈÀÇ ´ëºÎºÐÀ» Â÷ÁöÇÒ ¶§¿¡ ƯÁ¤ À¥»çÀÌÆ®ÀÇ Àüü Æ®·¡ÇÈÀ» ¾ó¸¶ÀÌÇÏ·Î Á¦ÇÑÇϱâ À§ÇÑ ¼³Á¤¹æ¹ýÀ̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.
bandwidth ¼³Ä¡
¨ç mod_bandwidth.c ´Ù¿î·Îµå
wgetÀº À¥¿¡¼ ÀÚµ¿ÀûÀ¸·Î ÆÄÀÏÀ» ¹Þ¾Æ¿À´Âµ¥ »ç¿ëµÇ´Â À¯Æ¿¸®Æ¼À̸ç HTTP, HTTPS, FTP ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÕ´Ï´Ù. mod_bandwidth.c ÆÄÀÏÀ» ´Ù¿î·Îµå ÇÕ´Ï´Ù. [root@nextline ~]# wget ftp://ftp.cohprog.com/pub/apache/module/1.3.0/mod_bandwidth.c
¨è mod_bandwidth.c ÄÄÆÄÀÏ
¸ðµâÀ» ÀûÀçÇϱâ À§ÇØ mod_throttle.cÆÄÀÏÀ» ÄÄÆÄÀÏ ÇÕ´Ï´Ù.
apxs´Â ¾ÆÆÄÄ¡ ¼¹öÀÇ È®Àå ¸ðµâÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â µµ±¸ÀÔ´Ï´Ù.
¿É¼Ç ¼³¸í -i : ¶óÀ̺귯¸® µð·ºÅ丮¿¡ so ÆÄÀÏ º¹»çÇ϶ó´Â ¿É¼Ç -a : httpd.conf ÆÄÀÏ¿¡ LoadModule ¼³Á¤À» Ç϶ó´Â ¿É¼Ç -c : ÄÄÆÄÀÏ Ç϶ó´Â ¿É¼Ç
[root@nextline ~]# /usr/local/apache/bin/apxs -i -a -c mod_bandwidth.c
¨é mod_bandwidth.so ÆÄÀÏ È®ÀÎ
ÄÄÆÄÀÏ ÈÄ °øÀ¯¶óÀ̺귯¸® ÆÄÀÏÀÇ »ý¼ºÀ» È®ÀÎÇÕ´Ï´Ù. [root@nextline ~]# ls /usr/local/apache/libexec
¨ê ¸ðµâÀûÀç È®ÀÎ
vi ¿¡µðÅÍ »ç¿ë¹ý
»ç¿ëÇü½Ä : vi [¿É¼Ç] [»ý¼ºÇÒ ÆÄÀϸí/ÆíÁýÇÒ ÆÄÀϸí]
vi ¿¡µðÅÍ´Â ÀԷ¸ðµå, ¸í·É¸ðµå, ½ÇÇà¸ðµå·Î ±¸ºÐµË´Ï´Ù.
ÀԷ¸ðµå : vi ÆíÁýȸ鿡¼ ¹®ÀÚ¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ´Â ¸ðµå·Î¼ ÀԷ¸ðµå·Î ÁøÀÔÇϱâ À§Çؼ´Â i, a, o, I, A, O, RµîÀÌ ÀÖ½À´Ï´Ù. Áï Ãʱâ vi ÆíÁý±â ¸ðµå´Â ¸í·É¾î ¸ðµå·Î ÁøÀÔÀ» Çϱ⠶§¹®¿¡ ¹®ÀÚ¸¦ ÀÔ·ÂÇϱâ Àü¿¡ ¾ÕÀÇ ´ÜÃàÅ° Áß Çϳª¸¦ ¸ÕÀú ÀÔ·ÂÇØ¾ß ¿øÇÏ´Â ¹®ÀÚ¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸í·É¸ðµå : Ä¿¼À̵¿/¹®ÀÚ»èÁ¦/¹®ÀÚ(¿)±³Ã¼/¹®ÀÚ¿°Ë»ö µîÀ» ÇÒ ¼ö ÀÖ´Â ¸ðµå·Î¼ ÀԷ¸ðµå¿¡¼ ÆíÁýÀÌ ¿Ï·áµÇ¸é EscÅ°¸¦ ´·¯ ¸í·É¸ðµå·Î ÁøÀÔÇÏ¸é µË´Ï´Ù.
x : vi ¸í·É¸ðµå¿¡¼ Ä¿¼À§Ä¡ÀÇ ÇÑ ¹®ÀÚ »èÁ¦ dw : vi ¸í·É¸ðµå¿¡¼ Ä¿¼À§Ä¡ÀÇ ÇÑ ´Ü¾î »èÁ¦ dd : vi ¸í·É¸ðµå¿¡¼ Ä¿¼À§Ä¡ÀÇ Çà »èÁ¦ Ndd : vi ¸í·É¸ðµå¿¡¼ Ä¿¼À§Ä¡ÀÇ ¿©·¯ Çà µ¿½Ã »èÁ¦
½ÇÇà¸ðµå : Ưº°ÇÑ ¸í·É¾î¸¦ ½ÇÇàÇÏ´Â ¸ðµå·Î¼ ¸í·É¾î¸ðµå¿¡¼ ":"(ÄÝ·Ð)¸¦ ´©¸£¸é vi ȸé ÇÏ´Ü ÁÂÃø¿¡ vi Ư¼ö¸í·É¾î¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù.
½ÇÇà¸ðµåÀÇ ÀϹÝÀûÀ¸·Î ¾²À̴ Ư¼ö ¸í·É¾î q : ¼öÁ¤ ÀÛ¾÷ÀÌ ÀÌ·ç¾îÁöÁö ¾ÊÀº »óÅ¿¡¼ vi ÆíÁý±â¿¡¼ ºüÁ®³ª¿É´Ï´Ù. q! : ¼öÁ¤ ÀÛ¾÷ÀÌ ÀÌ·ç¾îÁø ºÎºÐÀ» Àû¿ë½ÃÅ°Áö ¾Ê°í vi ÆíÁý±â¸¦ °Á¦·Î ºüÁ®³ª¿É´Ï´Ù. w : ¼öÁ¤µÈ ÀÛ¾÷À» ÀúÀåÇÕ´Ï´Ù. wq : ¼öÁ¤µÈ ÀÛ¾÷À» ÀúÀåÇÏ°í vi ÆíÁý±â¿¡¼ ºüÁ®³ª¿É´Ï´Ù.
Ãʱ⠸í·É¾î¸ðµå -> ÀԷ¸ðµåÁøÀÔ -> ÆíÁý -> ¸í·É¾î¸ðµå -> ½ÇÇà¸ðµå -> Á¾·á
ÄÄÆÄÀÏ ÀÛ¾÷À¸·Î httpd.confÆÄÀÏ¿¡ ¸ðµâÀÌ µî·ÏµÇ¾ú´ÂÁö È®ÀÎÇÕ´Ï´Ù. [root@nextline mod_throttle-3.1.2]# vi /usr/local/apache/conf/httpd.conf
LoadModule throttle_module libexec/mod_throttle.so
¨ë µð·ºÅ丮»ý¼º
¾ÆÆÄÄ¡°¡ ½ÇÇà ÇÒ ¶§ÀÇ »ç¿ëÀÚ±ÇÇÑ(nobody ¶Ç´Â apache )À¸·Î Àбâ, ¾²±â, ½ÇÇà±ÇÇÑÀÌ ÀÖ´Â µð·ºÅ丮°¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î /tmp/apachebw , /tmp/apachebw/link , /tmp/apachebw/master ÀÌ·¸°Ô »ý¼ºÇÕ´Ï´Ù. º¯°æÇÏ·Á¸é BandWidthDataDir Áö½ÃÀÚ¸¦ ÀÌ¿ëÇÕ´Ï´Ù. (À§ µð·ºÅ丮¿¡ ¹®Á¦°¡ ÀÖÀ¸¸é error·Î±× ÆÄÀÏ¿¡ ³²±â°í ,±â´ÉÀº ºñÈ°¼ºÈ µË´Ï´Ù.)
[root@nextline ~]# mkdir -p /tmp/apachebw/master [root@nextline ~]# mkdir -p /tmp/apachebw/link [root@nextline ~]# chown -R nobody.nobody /tmp/apachebw [root@nextline ~]# chmod -R 777 /tmp/apachebw
¨ì httpd.conf ÆÄÀϼ³Á¤
´ë¿ªÆø Á¦ÇÑÀ» À§ÇÏ¿© httpd.confÆÄÀÏÀ» ¼öÁ¤ ÆíÁýÇÕ´Ï´Ù. [root@nextline ~]# vi /usr/local/apache/conf/httpd.conf
¨í °¡»óÈ£½ºÆ®(ȨÆäÀÌÁö) º° ´ë¿ªÆø Á¦ÇÑ
ex) nextline.co.kr µµ¸ÞÀο¡ ´ëÇÑ ´ë¿ªÆø Á¦ÇÑ ¼³Á¤ÀÔ´Ï´Ù.
DocumentRoot /home/nextline/public_html ServerName nextline.co.kr ServerAlias www.nextline.co.kr BandWidthModule On LargeFileLimit 51200 102400 MaxConnection 5
bandwidth¸ðµâÆÄÀÏÀ» ºÒ·¯µéÀÌ´Â ¼³Á¤ÀÔ´Ï´Ù. BandWidthModule On 50M ³Ñ´Â ÆÄÀÏÀº 100KByte/Sec À¸·Î Á¦ÇÑ ÇÑ´Ù. LargeFileLimit 51200 102400 µ¿½Ã¿¡ 5°³ÀÇ Á¢¼ÓÀ» Çã¿ëÇÑ´Ù. MaxConnection 5
¨î Áö½ÃÀÚ
BandWidth ¿¡¼ »ç¿ëÇÒ Àӽà µð·ºÅ丮¸¦ ÁöÁ¤ÇÕ´Ï´Ù. (±âº»:/tmp/apachebw) BandWidthDataDir µð·ºÅ丮: Context : server
BandWidthModule »ç¿ë ¿©ºÎ¸¦ ¼³Á¤ÇÕ´Ï´Ù. (±âº» Off) BandWidthModule On ¶Ç´Â Off Context : server, °¡»óÈ£½ºÆ® ¾È¿¡ »ç¿ë ÇÒ °æ¿ì °¡»óÈ£½ºÆ® ¸¶´Ù BandWidthModule On ¼³Á¤À» ÇÏ¿©¾ß Çϸç, Áö½ÃÀÚ ¾È¿¡ ³ÖÀ» ¶§´Â µû·Î ³Ö¾îÁÖÁö ¾Ê¾Æµµ µË´Ï´Ù.
BandWidth ¿¡¼ Áö¿¬ÇÒ ½Ã°£À» ¼³Á¤ÇÕ´Ï´Ù. (microsecond ´ÜÀ§) BandWidthPulse Context : server ¿¹Àü¿¡´Â Áö¿¬½Ã°£ÀÌ 1ÃÊ·Î °íÁ¤µÇ¾î ÀÖ¾ú½À´Ï´Ù. ÀÌ ¸»Àº 512Bit/sec ¶ó¸é. 1KBit ¸¦ º¸³»·Á¸é, 1KBitÀ» º¸³½ÈÄ¿¡ 2ÃÊ ±â´Ù¸°ÈÄ 512Bit À» º¸³À´Ï´Ù. ±×·¸Áö¸¸, "BandWidthPluse 1000000" (1ÃÊ)¸¦ ¼³Á¤Çϸé, 512BitÀ» º¸³»°í 1ÃÊ ±â´Ù¸°ÈÄ 512BitÀ» º¸³À´Ï´Ù. ÀÌ °ªÀ» ¼³Á¤Çϸé, º¸´Ù ºÎµå·´°Ô Á¦ÇÑÇÏ¸é¼ º¸³¾¼ö ÀÖ½À´Ï´Ù. ¼³Á¤°ªÀ» (1/5 ÃÊ) ÀÌ»ó »ç¿ëÇÏ±æ ±ÇÀåÇÕ´Ï´Ù. ÀåÁ¡ : ºÎµå·´°Ô Æ®·¡ÇÈÀ» Á¦ÇÑÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÜÁ¡ : ÆÐŶÀÇ ¾çÀÌ ¸¹¾ÆÁö¸ç, °ªÀÌ ÀûÀ»¼ö·Ï ¼¹ö¿¡ ºÎÇϸ¦ ¸¹ÀÌ ÁÝ´Ï´Ù.
BandWidth ¸¦ ÅëÇÑ ´ë¿ªÆøÀ» Á¦ÇÑÇÕ´Ï´Ù. BandWidth Context : Directory domain,ipµîÀº Á¢¼ÓÇÏ´Â »ç¿ëÀÚÀÇ ip¹× µµ¸ÞÀÎÀÌ´Ù. ip ´Â ³Ý¸¶½ºÅ©¸¦ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. rate : ¹ÙÀÌÆ® ´ÜÀ§ ÃÊ´ç ´ë¿ªÆø, 0Àº Á¦ÇÑÀ» µÎÁö ¾Ê½À´Ï´Ù.
Å« ÆÄÀϸ¸ ´ë¿ªÆøÀ» Á¦ÇÑÇÕ´Ï´Ù. LargeFileLimit Context : Directory filesize : filesize ´Â ÆÄÀÏÅ©±â(KByte)ÀÌ ÆÄÀÏ Å©±â À̻󿡸¸ rate Àû¿ë ÇÕ´Ï´Ù. rate : ¹ÙÀÌÆ® ´ÜÀ§ ÃÊ´ç ´ë¿ªÆø(Byte/Sec), 0Àº ¹«Á¦ÇÑ ÀÔ´Ï´Ù.
ÃÖ´ë ¿¬°á¼ö Á¦ÇÑ (±âº» 0 Á¦ÇѾøÀ½) MaxConnection Context : Directory µ¿½Ã¿¬°á¼ö°¡ connections ÀÌ»óÀÌ¸é ¿¬°áÀ» °ÅºÎÇÕ´Ï´Ù.
ÃÖ¼Ò ´ë¿ªÆø ¼³Á¤ (±âº» 255Byte/Sec , 0À» ¼³Á¤Çصµ 255 ÀÌ´Ù., -1À» ³ÖÀ¸¸é ÃּҴ뿪ÆøÀº 0ÀÌ µË´Ï´Ù.) MinBandWidth (BandWidth, LargeFileLimit º¸´Ù ¿ì¼±ÇÕ´Ï´Ù.)
¨ï ¾ÆÆÄÄ¡ Àç½ÃÀÛ
mod_bandwidth Æ®·¡ÇÈÁ¦ÇÑÀ» Àû¿ëÇϱâ À§ÇÏ¿© ¾ÆÆÄÄ¡¸¦ Àç½ÃÀÛ ÇÕ´Ï´Ù.
|
|