ãã®ããã°ã§ã¯åãã¾ãã¦ã®é·éé åº(kazeburo)ã§ããmixiéçºé¨ã»éç¨ã°ã«ã¼ãã§ã¢ããªã±ã¼ã·ã§ã³ã®éç¨ãæ å½ãã¦ãã¾ãã 12æ12æ¥ããmixiã®RSSã®Crawlerãæ¹åãããå¤é¨ããã°ã®åæ ãä»ã¾ã§ã¨æ¯ã¹æ ¼æ®µã«ã¯ãããªã£ã¦ããã®ã«æ°ä»ãããæ¹ãå¤ããã¨æãã¾ãããã®æ¹åãããRSS Crawlerã®è£å´ã«ã¤ãã¦æ¸ãããã¨æãã¾ã 以åã®Crawlerã«ã¤ã㦠以åã®Crawler㯠cronããbrokerã¨å¼ã°ããããã°ã©ã ãèµ·å brokerã¯member DBããå ¨ä»¶ãidãincrementããªããåå¾ããå¤é¨ããã°ãè¨å®ããã¦ããã°crawlerãèµ·å(fork) crawlerã¯RSSãåå¾ãDBã«æ ¼ç´ãã¦çµäº ãã®ãããªè¨è¨ã«ãªã£ã¦ãã¾ããã ãã®è¨è¨ã®åé¡ã¨ãã¦ãmember DBãå ¨ä»¶èµ°æ»ããã¨ããç¡é§ãªåä½ã¨ãä¸ä»¶ä¸ä»¶crawlerãèµ·åãããããªã¼ã
ã¤ã³ã¿ã¼ãããã»ãµã¼ãã¹ã®æ¿æ¦åºã§ããåç»é ä¿¡ã§å¾çºãªããYouTubeãä¸åãæé·é度ï¼YouTubeã®3å以ä¸ã¨ãªã1æ¥ã²ã¨ã3æé以ä¸ã¨ããå¹³åè¦è´æéãå®ç¾ãããã³ãã³åç»ãéè¨å¾1年足ããã§400ä¸äººã®ä¼å¡ãç²å¾ï¼æ¥æ¬å ¨ä½ã®ãã©ãã£ãã¯ã®ç´10åã®1ãå ããããã®æé·é度ã¯mixiãä¸åãï¼æ¥æ¬å²ä¸æéã¨è¦ãããã ãã³ãã³åç»ã¯å¤ãã®ã¡ãã£ã¢ã§èªããï¼2007å¹´10æã«ã¯ã°ãããã¶ã¤ã³è³ãç²å¾ãããï¼ããã¾ã§ã¯ç¤¾ä¼ç¾è±¡ããã¼ã±ãã£ã³ã°ã®è¦³ç¹ããèªããããã¨ãå¤ãã£ããããããã³ãã³åç»ãä½ãä¸ãï¼ãã®æ¥æ¡å¤§ãæ¯ããã®ã¯ã¾ããããªãã¨ã³ã¸ãã¢ã®æè¡ã ãå¤ãã®ã¯ãªã¨ã¤ã¿ãã¦ã¼ã¶ã¼ãé äºãï¼å·¨å¤§ãªã¢ã¯ã»ã¹ããã°ãæè¡ã¯ã©ã®ãããªãã®ãªã®ãããã¯ã³ã´ã®ã¨ã³ã¸ãã¢ã«èããã ãææ ããå ±æããã¢ã«ã´ãªãºã åç»ã®ä¸ã«æåããã¶ãããµã¼ãã¹ã¯ãã³ãã³åç»ä»¥åã«ãåå¨ãããã¾ãï¼åç»ã®ã¿ã¤ã
ApacheCon US 2007ã®ããApache Performance Tuning / Part One: Scaling Upã, Sander Temme (PDF) ããã ab ããªãã¿ãApacheä»å±ã®ãã㤠http_load http://www.acme.com/software/http_load/ flood http://httpd.apache.org/test/flood/ JMeter http://jakarta.apache.org/jmeter/ æè¿ã®ãã¼ã¸ã§ã³ã¯ä½¿ãããããªã£ãããã ãã¨ãã»ãã«ã¯ httperf http://www.hpl.hp.com/research/linux/httperf/ ã¨ãã
ããã«ã¡ã¯ã¹ã¨ããã§ãã ä»åã¯å¼ç¤¾ãæä¾ãã¦ããããã°ãµã¼ãã¹ãnowaã(ã㯠http://nowa.jp)ã®ä»çµã¿ããµã¼ãæ§æãä¸å¿ã«ç´¹ä»ãããã¨æãã¾ãã nowaã§ã¯ä¸è¬çãªããã°ãµã¼ãã¹è¦ç´ ã¨SNSè¦ç´ ã®æ©è½ãå®è£ ãã¦ãã¾ããå¼ç¤¾ã«ã¯å è¡ãã¦æä¾ãã¦ãããlivedoor Blogããããã¬ããã¨ãã£ã大è¦æ¨¡ãªãµã¼ãã¹ãããã¾ãã®ã§ããã¡ãã®éçºã»éç¨ã§åé¡ã«ãªã£ãç¹ãªã©ãåèã«ãã¤ã¤éçºãé²ãã¦ãã¾ããå ·ä½çã«ã¯ã¢ã¯ã»ã¹ã«ããè² è·ã¸ã®å¯¾çããã¼ã¿ãã¼ã¹ã®åæ£åãç»åã®ã¹ãã¬ã¼ã¸ã³ã°ãåé·æ§ãã¹ã±ã¼ã©ããªãã£ã¨ãã£ãç¹ã«ãªãã¾ãã - ãã¼ã¿ã«(nowa.jp)ãCMS(cms.nowa.jp) ã®ãµã¼ãæ§æ ãã¼ã¿ã«ãã¼ã¸(nowa.jp)ã¨CMSãã¼ã¸(cms.nowa.jp)ã¯ãéçãªãã¡ã¤ã«ã®ãªã¯ã¨ã¹ããæã+åçãªã³ã³ãã³ãã¸ã®ãªã¯ã¨ã¹ãããããã·ããããã³ããµã¼ã
Update 6: Some interesting changes from Twitter's Evan Weaver: everything in RAM now, database is a backup; peaks at 300 tweets/second; every tweet followed by average 126 people; vector cache of tweet IDs; row cache; fragment cache; page cache; keep separate caches; GC makes Ruby optimization resistant so went with Scala; Thrift and HTTP are used internally; 100s internal requests for every exter
æ¥è¨ã ãã§4å件ã®ãã¼ã¿ ãã¯ã·ã£ãéå¶ããSNSãmixiãã¯ã2007å¹´7ææ«æ®µéã§ã¦ã¼ã¶ã¼æ°ã1110ä¸äººã人ã12人éã¾ãã°ã1人ã¯mixiã¦ã¼ã¶ã¼ã¨ããããã ãã¦ã¼ã¶ã¼ã®ã¢ã¯ãã£ãçï¼ãã°ã¤ã³ééã3æ¥ä»¥å ï¼ã¯ç´62ï¼ ã¨é«ãã2007å¹´4æãã6æã®æéå¹³åãã¼ã¸ãã¥ã¼ã¯117.5åã«éãããæ¥è¨ã ãã§ã4å件以ä¸ã«ä¸ããªã©ãèç©ãããã¼ã¿éãè«å¤§ã2004å¹´3æã®ãµã¼ãã¹éå§ãããããã3å¹´åã§ç¾å¨ã®å·¨å¤§ã³ãã¥ããã£ã¼ã¸ã¨çºå±ããã®ã ã ãã¯ã·ã£ã¯ããLAMPï¼OSã®LinuxãWebãµã¼ãã®ApacheãDBMSã®MySQLãéçºè¨èªã®PerlãPHPãPythonï¼ãã¨å¼ã°ããWebã·ã¹ãã åãã®æ¨æºçãªãªã¼ãã³ã½ã¼ã¹ã½ããã¦ã§ã¢ï¼ä»¥ä¸ãOSSï¼ã§ã·ã¹ãã ãèªç¤¾éçºããå®ä¾¡ãªPCãµã¼ãã1000å°ä»¥ä¸é£ããè¶ åæ£æ§æã§mixiã®ãµã¼ãã¹ãæ¯ãã¦ããï¼åºåé ä¿¡ãªã©å¨è¾ºæ©è½ã§ã¯
æ®éã®å¸¯åç¯ç´è¡ã¨ãã¦ã¯ãmod_deflateã§deflateå§ç¸®ããã¨ããCSSãJSãã¡ã¤ã«ã®HTTPã¬ã¹ãã³ã¹ãããã«Last-ModifiedãEtagã追å ãã¦ããã¦ããã©ã¦ã¶ãHTTPãªã¯ã¨ã¹ããããã«If-Modified-SinceãIf-None-Matchãä»å ããããã«ããã³ã³ãã³ããå¤æ´ããã¦ããªãã£ãã304 Not Modifiedãè¿ãã¨ããæ¹æ³ãåããã¨æãã¾ãã ããããHTTPãµã¼ãã¼ã¯ã³ã³ãã³ãã®æ°ã ã304 Not Modifiedãè¿ããªãã¨ãããªãããããã®å帯åãæ¶è²»ãã¾ãããã¾ãCSSãç»åãªã©ã®ãã¼ãã®304 Not Modifiedãè¿ã£ã¦ããã¾ã§ããã®ãã¼ãã®ã¬ã³ããªã³ã°ãè¡ããªãã¨ããåé¡ãããã¾ãï¼ã¤ã¾ãä½æé度ã«å½±é¿ãã¾ãï¼ã ä»åç´¹ä»ããã®ã¯ExpiresããããCache-Control: max-age=31536000ã
Joshua Schachter, del.icio.us ============================= Things to look out for when building a large application. Browser quirks. CSS/JavaScript/rendering. IE caching. Scaling: avoid early optimization. SQL doesn't map well to these problems - think about how to split up data over multiple machines. Understand indexing strategies, profile every SQL statement. Nagios or similar for monitoring.
IPAã«èå¼±æ§ã¨ãã¦æåºããã¦ããããã¯ã·ã£ã«ã¢ãããã¼ããããç»åãURLãç´æ¥ãããã°ãã°ã¤ã³ãã¦ããªãã¦ãé²è¦§ã§ãã件ãæè¡çã«ã¯æ¹ä¿®ããããã«ãã«ãã®æ¨ãè¨è¼ãããã¨ã§æ±ºçããã¨ãã話é¡ã«ã¤ãã¦ããã®çç±ã®ã²ã¨ã¤ã«ç»åã®é ä¿¡ã¯ä¸é¨ãCDNï¼akamaiï¼ã使ã£ã¦ãããããããã«èªè¨¼ããããã®ãé£ããã®ã§ã¯ã¨ãããã®ãè¦ããã¾ããã ãã®akamaiãªã®ã§ãããå®ã¯ãåãéçºéç¨ãã¦ããåç»å ±æãµã¤ãFlipClipã§ããæ¥ãã¨ã«å¢ãç¶ãããµã¼ãã¸ã®è² è·ããã©ãã£ãã¯ã«å¯¾å¿ãã¹ããåç»ã®é ä¿¡ã«ããã使ããªããã¨æ¤è¨ãã¦ã¾ãã¦ãå æ¥akamaiã®äººã«ãã¦ããã ãã¦è©±ãèãã¦ã¿ã¾ããã ãã®ã¨ãä¸çªèãããã£ãã®ãã¾ãã«ä»åã®ãã¯ã·ã£ã®ä»¶ã§è©±ã«ã§ã¦ãããèªè¨¼ã®ããã£ãã³ã³ãã³ããakamaiã§é ä¿¡ã§ããã®ãï¼ãã¨ããç¹ã§ããã ã¨ããã®ãFlipClipã§ã¯åç»ã»ãµã ãã¼ã«ã®é ä¿¡ã¯ãã¹ã¦
jbeefæ°ãã"ã»ãã¥ãªãã£ãã¼ã«memoçµç±ãèã£ã±æ¥è¨10æ17æ¥ã®ã¨ã³ããªã«ããã¨ã2005å¹´5æã«IPAã®èå¼±æ§æ å ±å±åºçªå£ã«å±ãåºãããmixiã®æ¬ é¥ã®ä»¶ãã1å¹´åãã£ã¦ãããã決çããã¨ããããã®æ¬ é¥ã¯ãmixiå ã§ã¢ãããã¼ããããç»åããmixiã«ãã°ã¤ã³ãã¦ããªãã¦ãç»åã®URLãæå®ããã°èª°ã«ã§ãé²è¦§ã§ãã¦ãã¾ãã¨ãããã®ããã£ã¨ããæ°ç¾ä¸äººã®ä¼å¡ãããã¨ãããmixiã§ã¯ããããã«ãã誰ã«ã§ãè¦ãããã®ã«çããã®ã ããåé¡ãããªãã¨ããèãæ¹ããããããããããå人ã¾ã§å ¬éãã«è¨å®ãã¦ããæ¥è¨ã®ç»åã¯ã©ãã ããããæ®éã®ã¦ã¼ã¶ãªããåçç»åããå人ã¾ã§å ¬éãã ã¨ä¿¡ãã¦è²¼ãä»ããã®ã§ã¯ãªããããã èã£ã±æ¥è¨ã«ããã¨ãIPAã¯ãããèå¼±æ§ã¨ãã¦åãä»ããåãæ±ããéå§ãããã®ã®ã11ãæå¾ã®2006å¹´4æã«ãªã£ã¦ããã¯ã·ã£å´ããã®ãã¢ããã®é£çµ¡ããã£ãã¨ããããã®å 容
Squid2.6STABLE8以éã¯ã"http_port" ã® "accel" ãªãã·ã§ã³ã§ãªãã¼ã¹ãããã·ï¼ã¢ã¯ã»ã©ã¬ã¼ã¿ï¼ãæå®ããããã«ãªã£ãã Squid-2.5以åã®ã¢ã¯ã»ã©ã¬ã¼ã¿ã¢ã¼ãã®åä½ã¯ã¾ã£ããç°ãªããããå¼ãç¶ã使ç¨ããå ´åã¯2.6以éã«ã¢ããã°ã¬ã¼ããããã¨ãå¼·ããå§ããã¾ãã ãã®ãã¼ã¸ã§ã¯ããªãã¼ã¹ãããã·ï¼Reverse Proxyï¼ã使ã£ããWebãµã¼ãã®ããã©ã¼ãã³ã¹æ¹åã«ã¤ãã¦ç¤ºãã¾ããããã®ãã¼ã¸ã¯æ¬¡ã®ãããªç« ç«ã¦ã«ãªã£ã¦ãã¾ãã ï¼ç« ã§ã¯ãªãã¼ã¹ãããã·ã®æ¦è¦ãï¼ç« ã§ã¯æ®éã®ãªãã¼ã¹ãããã·ã¨ééã¢ã¼ãã§ã®ãªãã¼ã¹ãããã·ã®æ¯è¼ãï¼ç« ã§ã¯ãªãã¼ã¹ãããã·ã§ã®ãã£ãã·ã¥ã®åããï¼ç« ã§ã¯Squidããªãã¼ã¹ãããã·ã¨ãã¦æ©è½ãããè¨å® ï¼ç« ããªãã¼ã¹ãããã·ã®æ¦è¦ ï¼ç« ãæ®éã®ãªãã¼ã¹ãããã·ã¨ééã¢ã¼ãã§ã®ãªãã¼ã¹ãããã·ã®æ¯è¼ ï¼ç« ããªãã¼ã¹ãããã·
Webã·ã¹ãã ã®é«æ§è½åã§ã¯ãã¹ã±ã¼ã«ã¢ã¦ãå¯è½ãªè¨è¨ãè¡ãå©ç¨å¯è½ãªãã£ãã·ã¥ãã§ããéãæ´»ç¨ãããã¨ãéè¦ã§ããWebã·ã¹ãã æ§ç¯ã§æèããªããå©ç¨ããªããã°ãªããªããã£ãã·ã¥ã¯è¡¨1ã®éãã§ãã
ã¿ãªããã¯Akamai Technologies社ããåç¥ã ãããï¼ http://www.akamai.com/ http://www.akamai.co.jp/ Akamai社ã¯é«éãªã³ã³ãã³ãé ä¿¡ãè«ãè² ã£ã¦ããä¼ç¤¾ã§,å社ã®ä¿æããæ°ä¸å°ã®ãµã¼ããªã½ã¼ã¹ãå©ç¨ãã¦ã®å¤§éã®ç»åã大è¦æ¨¡ãªã¹ããªã¼ã é ä¿¡ãå¾æã¨ãã¦ãã. ã¢ã¡ãªã«ã§ã¯GoogleãYahoo!ãMicrosoft,æ¥æ¬ã§ã¯Yahoo!Japanãmixiãªã©ããããã®ä¼ç¤¾ãå©ç¨ããã¦ãã¦,ã¤ã³ã¿ã¼ããããé°ã§æ¯ããç¸ã®ä¸ã®åæã¡ã¨ãã£ãä¼ç¤¾ã . å社ãæä¾ããFreeFlowãFirstPointã¨å¼ã°ããé ä¿¡ãµã¼ãã¹ã¯ã¾ãã«Akamai(ãã¯ã¤èªã§Coolã®æå³)ã¨ããã«ãµãããã,åãã¦ãã®ããã¯ã®ãã¯ããã¸ã¼ãæãã¦ããã£ãã¨ãã¯ç®ããé±ãè½ã¡ãæãã ã£ã. ã¨ããã§9/11ã¯è¨ãã¾ã§ããªãç±³åæå¤çºãããèµ·ãã
DSASã®ãã¼ããã©ã³ãµã¯é«ä¾¡ãªã¢ãã©ã¤ã¢ã³ã¹è£½åã§ã¯ãªããLinuxã®LVS (Linux Virtual Server)ãå©ç¨ãã¦ãã¾ãã å®ä¾¡ãã¨ãããããã¼ãã¦ã¨ã¢ä»¥å¤ã¯ééçã³ã¹ããã¼ããªã®ã§ãä¸è¬ã®ã¯ã©ã¤ã¢ã³ãããã®ã¢ã¯ã»ã¹ãåããå¤é¨ãã¼ããã©ã³ãµã®ã»ãã«ãå é¨ãµã¼ãã¹ç¨ã®ãã¼ããã©ã³ãµãé ç½®ãã¦ãã¾ããããããactive, backupã§2å°ãã¤ããã®ã§åè¨ã§4å°ããã¼ããã©ã³ãµããããã¨ã«ãªãã¾ãã(ãããªæ§æã製åã使ã£ã¦çµãã ãæ°åä¸åãã£ã¨ã³ã¾ãã) ã¾ãããããã¯ã¼ã¯ãã¼ãã§ãã£ã¹ã¯ã¬ã¹ãªæ§æã«ãã¦ããã®ã§ããã¼ããã£ã¹ãå£ãã¦ãã¼ããã©ã³ãµããã¦ã³ããããªãã¦ãã¨ãããã¾ããã ã§ãã®ã§ããã¼ããã©ã³ãµã¯é«ãã¦ãªããªãå°å ¥ã§ããªããã¨ãã話ãè³ã«ãã度ã«LVSããå§ããã¦ããã®ã§ãããã©ããã ãªããé£ããã ã¡ããã¨åããä¸å® æ§è½ãåºãªãããããªãã çã
DSASã¯ããã«ãã¦å¯ç¨æ§ãé«ãã¦ããããã¡ãã£ã¨ç´¹ä»ãããã¨æãã¾ãã ä»åã¯æ¦ç¥ã¨ãããã¨ã§ãããã£ã¨èª¬æãã¾ããåå¥ã®æ§æã«ã¤ãã¦ã¯ã¾ãåãæ¹ãã¦ç´¹ä»ãããã¨æãã¾ãã â â ââ´â ââ´â â â â âISPã®ä¸ä½ã«ã¼ã¿ ââ¬â ââ¬â â â ããããããããããããããããã 責任åè§£ç¹ â â ââ´â ââ´â â ââ[ lb(active) ]â⤠â â ââ[ lb(backup) ]â⤠â â â â â âL2ââ[ Web ]ââ¤L2â âSWââ[ Web ]ââ¤SWâ â ââ[ Web ]â⤠â â â â â â ââ[ SMTP ]â⤠â â ââ[ SMTP ]â⤠â â â â â â ââ[ D B ]â⤠â â ââ[ D B ]â⤠â â â â â â ââ[ NFS ]â⤠â â ââ[ NFS ]â⤠â â â â â
ãã¼ããªDNSã©ã¦ã³ãããã³ã¯é«ä¾¡ãªãã¼ããã©ã³ãµã®åº§ã奪ãè¿ããã ã¤ã£ãã¿ã©ãããæºè¼ã¹ã®ãªã®ã¯èã«ããã¦ããã¦ãéããããªããªããDNSã©ã¦ã³ãããã³ãããªãã¦ãããã¦ã件ã®è¨äºã§ãç´¹ä»ããã¦ãã Apache 2.2ã®mod_proxy_balancer ããApache 2.2ãããªãã¦ã使ããreverse proxyç³»ã®å®è£ ãã¡ã POUND mod_backhand Perlbal ã使ãã¹ãã§ãããã ãã§ããL7ãã¼ããã©ã³ãµï¼è¦ã¯reverse proxyï¼ãªãã¦ãããã£ããã»ãã·ã§ã³ï¼ ããªã®memcachedã§ã·ã§ã¢ãããããããããããã®æ¹ãã¹ã±ã¼ã«ã¢ã¦ããããããã¼ãã¨ããåãã«ã¯ãLinuxã§L4ã®ãã¼ããã©ã³ãµããã®ããªã¹ã¹ã¡ã§ãã¾ããã¾ã¨ããªL4ãã¼ããã©ã³ãµãæã«å ¥ãã®ã«ãééçã³ã¹ãã¯ã¼ãã§ãã£ã¦ãããªã¯ãµã³ï¼ Linux Virtual Serve
ãã¼ããªDNSã©ã¦ã³ãããã³ã¯é«ä¾¡ãªãã¼ããã©ã³ãµã®åº§ã奪ãè¿ããã å ¬éæ¥æï¼ 2006/08/10 20:23 èè ï¼ watanabe çµè«ãDNSã©ã¦ã³ãããã³ã¨ããå¤ãããããæè¡ãåãå·»ãç¶æ³ã®å¤åãè¦éããã¦ããçµæãè² è·åæ£ã¨å¯ç¨æ§ç¢ºä¿ã®ããã«é«ä¾¡ãªãã¼ããã©ã³ãµã¼æ©å¨ãå°å ¥ãã¦ããWebãµã¤ãã¯ãå®ã¯å¤§å¹ ã«éãç¡é§ã«ãã¦ããã®ãããããªãã ä¸é¨ã®äººã«ã¯ãä»é æ°ãã¤ããããã¨ç¬ãããå¯è½æ§ãé«ã話ã ã çè ãæ°ã¥ãããã£ããã¯ã¨ããããã°ã«æ¸ããããããªä¸ç¯ã§ããã ãã¾ãç¥ããã¦ããªããã¨ããããã¾ããããDNS ããããã¹ãåã«å¯¾ãã¦è¤æ°ã® IP ã¢ãã¬ã¹ãè¿ããå ´åãå¤ãã®ã¦ã§ããã©ã¦ã¶ã¯ããã®å ¨ã¦ã®ã¢ãã¬ã¹ã«å¯¾ãã¦æ¥ç¶ã試ã¿ã¾ã (æ¥ç¶ã«æåããã¾ã§)ã Kazuho@Cybozu Labs: DNS ã©ã¦ã³ãããã³ã¨é«å¯ç¨æ§ (High Avail
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}