ãªã·ã£ã¬ã¨ããµã¤ãããªãªã¼ã¹ãã¦ã10ä¸PV/æ¥ãæãããã«ãã£ããã¨
ååã®ã¨ã³ããªã¼ãRails3 と jQuery で、真面目にオシャレなエロサイトをつくってみましたãã§ç´¹ä»ãããªã·ã£ã¬ã¨ããµã¤ãã
ããããã¾ã§å¤§å¤ãªåé¿ãããã¾ãã¦ããªãªã¼ã¹2æ¥ç®ã«ã¯1æ¥ã®ã¢ã¯ã»ã¹ã10ä¸PVãè¶ ãã¾ããã
ããããã®è£ã§ã¯ãã©ã£ã¨æ¼ãå¯ããã¢ã¯ã»ã¹ãæãããã«ãç»åãã¡ã¤ã«ãå¥ãµã¼ãã«ç§»ããããæçµçã«ã¯ AWS ã® CDN ã§ãããAmazon CloudFrontããå°å ¥ãããã¨ããªããªã大å¤ã§ããã
ããã§ã¯ããªãªã¼ã¹åã«ã©ãæºåãã¦ãããã¨ããªãªã¼ã¹å¾ã«ä½ãèµ·ãã£ãããããã¦ãã©ã夿ããã©ã対çãåã£ãããããããæ¸ãçãã¦ããã¾ãããããããã°åèã«ãã¦ãã ããã
**ãªã·ã£ã¬ã¨ããµã¤ãããªãªã¼ã¹ãã¦ã10ä¸PV/æ¥ãæãããã«ãã£ããã¨
+ãªãªã¼ã¹åã®æ§æï¼ã¡ã¢ãª1GB ã®ãµã¼ã1å°ï¼ +ãªãªã¼ã¹åã«è¡ã£ãè² è·ãã¹ã --(1) 1ç§éã«ä½ã¢ã¯ã»ã¹æãããï¼ --(2) 1æ¥ä½ã¢ã¯ã»ã¹ãè¶ ãããããããã¬ã¹ãã³ã¹ãéããªãã¯ããããï¼ +ãã¼ããã¹ã¼æ¥è¨ãã¿ã¦ã12ä¸PV/æ¥ãã²ã¨ã¤ã®åºæºã«ãã +ãªãªã¼ã¹å¾ - load average 㯠1.0 以ä¸ã ãã©ããããã¯ã¼ã¯ãã©ãã£ãã¯ãã¤ãã +ç»åãã¡ã¤ã«ãå¥ãµã¼ãã«ç§»ãï¼ã¡ã¢ãª1GBã®ãµã¼ã2å°æ§æï¼ +ç»åãã¡ã¤ã«ã Amazon CloudFrontï¼CDNï¼ã«ç§»ãï¼ã¡ã¢ãª1GBã®ãµã¼ã1å° + CDNï¼ +æè¨ - ç»åãå«ããç·åçãªè² è·ãã¹ããå¿ è¦ <<
*1. ãªãªã¼ã¹åã®æ§æï¼ã¡ã¢ãª1GB ã®ãµã¼ã1å°ï¼
æåã«ãµã¼ãæ§æã«ã¤ãã¦è§¦ãã¦ãã㨠SaaSes ã®ãOsukini Cloudãã¨ããã¯ã©ã¦ããã¹ãã£ã³ã°ãµã¼ãã¹ãå©ç¨ãã¦ãã¾ãã
æé¡1,000åã§ 1ä»®æ³CPUï¼2.66GHz ã ã£ãããªï¼ï¼ãã¡ã¢ãª1GBãããã«ãéé¡ãä¸ä¹ããã㨠CPU ã¨ã¡ã¢ãªãå¢å¼·ã§ããã®ããã®ãµã¼ãã¹ã®è¯ãã¨ãããªã®ã§ãããæ®å¿µãªãã¨ã«ãæ°è¦ç³è¾¼ã¯æ¢ã«çµäºãã¦ããããã§ãã
åºæ¬çã«ä¸è¨ãµã¼ã1å°ã« Apache ã Rails ã MySQL ãè¼ãã¦ç¨¼åããã¦ãã¾ããããå¾è¿°ã®ã¨ããããªãªã¼ã¹å¾ã«æ§æãå°ãå¤ãã¾ããã
*2. ãªãªã¼ã¹åã«è¡ã£ãè² è·ãã¹ã
ã¨ããããåããã®ãã§ããæ®µéã¨ããµã¼ãã®ãã¥ã¼ãã³ã°ãè¡ã£ãã¨ãã¨ããªãªã¼ã¹ç´åã«ãè² è·ãã¹ããè¡ãã¾ãããè² è·ãã¹ããè¡ãã°ã
-ã¬ã¹ãã³ã¹é度ã¯ã©ã®ããããï¼ -ã©ã®ãããã®è² è·ãããã£ãã¨ãã«é ããªãã¯ããããï¼ <<
çãææ¡ãããã¨ãã§ãããããããããããªå¤æã®ææã«ãªã£ã¦ããã¾ãããã¹ãã®çµæã«ãã£ã¦ã¯ãµã¼ãæ§æçãå¤ããå¿ è¦ãåºã¦ããã®ã§ãã§ããã ãæ©ãæ®µéã§è¡ãã®ãåã§ãã
è² è·ãã¹ããè¡ããã¨ãã§ãããã¼ã«ã«ãããããããã®ã§ãããåã¯å°å ¥ã¨æä½ãç°¡å㪠abï¼Apache Benchï¼ã¨ httperf ã¨ãããã¼ã«ã使ã£ã¦
-ã ããã 1ç§éã«20ã¢ã¯ã»ã¹æããï¼abï¼ -ã ããã 1æ¥10ä¸ã¢ã¯ã»ã¹ãè¶ ãããããããã¬ã¹ãã³ã¹ãéããªãã¯ãããï¼httperfï¼ <<
ãã¨ã確èªã§ããã®ã§ã1æ¥10ä¸ã¢ã¯ã»ã¹ã«è¿ã¥ãããããµã¼ãã® CPU ã¨ã¡ã¢ãªãå¢å¼·ãããã¨èãã¦ãã¾ããï¼è² è·ãã¹ããã¼ã«ã®å°å ¥æ¹æ³ãä½¿ãæ¹ã¯ä¸è¨ãµã¤ããåç §ãã¦ãã ããï¼
-Rubyist Magazine - RubyOnRails を使ってみる 【第 10 回】 パフォーマンスチューニング
-WEBサイト負荷テストツール7選 | さぶみっと!JAPAN
-Webの負荷テストに使えるフリーソフトウェア - SourceForge.JP Magazine : オープンソースの話題満載
**(1) 1ç§éã«ä½ã¢ã¯ã»ã¹æãããï¼
1ç§éã«æããã¢ã¯ã»ã¹æ°ã調ã¹ãã«ã¯ãab ãä¸çªæã£åãæ©ãã§ãã-c ãªãã·ã§ã³ã§åææ¥ç¶æ°ã-n ãªãã·ã§ã³ã§ãã¼ã¿ã«ã©ãã ãã®ãªã¯ã¨ã¹ããæããããæå®ãã¾ãã
|| $ ab -c 10 -n 100 http://example.com/ ||<
è² è·ãã¹ããçµäºããããçµæã®ä¸ã«
Requests per second: 18.12 [#/sec] (mean) <<
ã¨ããæ°åãããã¨æãã¾ãã®ã§ãããã1ç§éã«æããã¢ã¯ã»ã¹æ°ã§ãã
ã¨ãã£ã¦ãããã¾ã§ããã¯çè«å¤ã§ãå®éã«1ç§éã«18ã¢ã¯ã»ã¹ãæãã訳ã§ã¯ãªãã®ã§ããããµã¼ãã®ãã¥ã¼ãã³ã°ãããéã«ãããã©ã¼ã¢ãã¿ã¼ã®åºæºå¤ã¨ãã¦ä½¿ããããã¨ãå¤ãããã§ããåããã®å¤ãè¦ãªãã Apache ã®ãã¥ã¼ãã³ã°ãè¡ãã¾ããã
-ウェブ開発者のための、1時間でできるLAMP環境構築術(CentOS編) - さくらインターネット創業日記
**(2) 1æ¥ä½ã¢ã¯ã»ã¹ãè¶ ãããããããã¬ã¹ãã³ã¹ãéããªãã¯ããããï¼
ã¬ã¹ãã³ã¹ãéã軽ãã«ã¤ãã¦ã¯ top ã³ãã³ãã§ç¢ºèªã§ãããload averageããåºæºã«ãã
ã¬ã¹ãã³ã¹ãéããªãã¯ãããã¨ã = load average ã 1 ãè¶ ãã¯ãããã¨ã <<
ã¨ä»®å®ãã¾ããã
-Linuxのtopコマンドで表示されるload averageについて教えてくだ.. - 人力検索はてな
ããã¦ãhttperf ã¯ã--rate ãªãã·ã§ã³ã§ã1ç§éã«ä½ãªã¯ã¨ã¹ãæããããæå®ã§ããã®ã§ã1ç§éã«1ãªã¯ã¨ã¹ãã®å²åã§10åéè² è·ããããæ¬¡ã«1ç§éã«2ãªã¯ã¨ã¹ãã®å²åã§10åé...ã¨ã©ãã©ãè² è·ãé«ããã¦ãã£ã¦ã5åéã® load average ãè¨é²ãã¦ããã¾ããã
|| $ httperf --server example.com --uri / --rate 1 --num-conns 600 --num-calls 1 ||<
|1ç§éãããã®ãªã¯ã¨ã¹ãæ°|5åéã® load average| |1|0.18| |2|1.13| |3|1.52| |5|2.04|
ãããã¿ãã¨ã1ç§éã«2ãªã¯ã¨ã¹ããããã¾ã§ãªã大ä¸å¤«ã§ããããè¶ ããã¨æ¬¡ç¬¬ã«éããªãã¨ãããã¨ãåããã¾ãããã ã1ç§éã«2ãªã¯ã¨ã¹ãã£ã¦ã©ã®ãããã®ãã®ãªã®ãããåãããªãã®ã§ãããã1æ¥ãããã®ã¢ã¯ã»ã¹æ°ã«æç®ããå¿ è¦ãããã¾ãã
ãã®æç®ã«ã¯ãã¡ãã¨ããå ¬å¼ãããããã§ã¯ãªãã¦ãæ¬ããã°ã®æé帯å¥ã¢ã¯ã»ã¹åå¸ãåèã«ãã¾ããã
ä¸è¨ã¯æ¬ããã°ã®5ä¸ã¢ã¯ã»ã¹ã®æé帯åå¸ã表ãããã®ã§ãããæãå¤ã22æå°ã§ããã3,500ã¢ã¯ã»ã¹ããããè¨ç®ããããããã«3,600ã¢ã¯ã»ã¹ã ã¨ããã¨ã
1æ¥5ä¸ã¢ã¯ã»ã¹ >> 1æéã«æå¤ã§3,600ã¢ã¯ã»ã¹ >> 1ç§éã«1ã¢ã¯ã»ã¹ 1ç§éã«2ã¢ã¯ã»ã¹å¤§ä¸å¤« >> 1æéã«7,200ã¢ã¯ã»ã¹å¤§ä¸å¤« >> 1æ¥10ä¸ã¢ã¯ã»ã¹å¤§ä¸å¤« <<
ã¨ãããã¨ã«ãªã£ã¦ã1æ¥10ä¸ã¢ã¯ã»ã¹ããã大ä¸å¤«ã ããã¨ããçµè«ã«è³ãã¾ãã
*3. ãã¼ããã¹ã¼æ¥è¨ãã¿ã¦ã12ä¸PV/æ¥ãã²ã¨ã¤ã®åºæºã«ãã 1æ¥10ä¸ã¢ã¯ã»ã¹ãããã¾ã§å¤§ä¸å¤«ã ã¨ãã¦ãããã§ãªãªã¼ã¹ãã¦åé¡ãªãã®ãå¦ããå®éã«èªåã®ãµã¤ãã«ã©ã®ãããã®ã¢ã¯ã»ã¹ãæ¥ãããªãã¦ããªãªã¼ã¹ãã¦ã¿ãã¾ã§åããã¾ãããã
èªåã¯ãããããµã¼ãã¹ããªãªã¼ã¹ããããã®ãããã®ã¢ã¯ã»ã¹ãæ¥ã <<
ã¨ãããããªæ å ±ã¯æ¢ãã°æ¡å¤è¦ã¤ãããã®ã§ãåã®å ´åã¯ãã¼ããã¹ã¼ããï¼@yusukebeï¼ã®ããã°ãåèã«ãªãã¾ããã
< 1æ6æ¥ã«ã¯åããã¨ããæ¥æ¬æå¤§ã®è£ãã¼ã¿ã«ãµã¤ãã«ãåãä¸ãããããã¼ã¯æã«ã¯ãµã¤ãå åè¨ã§ 12ä¸PV / 1day<
1æ¥12ä¸PVã10ä¸PVãä¼¼ããããªãã®ããªã¨æ¥½è¦³è¦ãã¦ããããªããµã¼ãæ§æå¤ããªãã¦ãã¾ã大ä¸å¤«ããªãã¨ï¼å¾è¿°ã®ã¨ãããå ¨ç¶å¤§ä¸å¤«ãããªãã£ããã§ããã©ãï¼
*4. ãªãªã¼ã¹å¾ - load average 㯠1.0 以ä¸ã ãã©ããããã¯ã¼ã¯ãã©ãã£ãã¯ãã¤ãã
3æ31æ¥ï¼åï¼ã®å¤ã«ãªãªã¼ã¹ãã¾ãããåææ¥ã«ãªãªã¼ã¹ããã®ã¯ãä½ãåé¡ããã£ã¦ãæ¥ææ¥ã«å¯¾å¿ã§ããããã«ãã¨ããèãããã§ããã
ãªãªã¼ã¹ç´å¾ãããtop ã³ãã³ãã§ load average è¦ããã¨ããfree ã³ãã³ãã§ã¡ã¢ãªã®ä½¿ç¨éãè¦ããã¨ããã¦ãã¾ãããã㨠munin ã®ã°ã©ããã¼ã¼ã£ã¨çºãã¦ãããã
ãããããã¦ãããã¡ã«ç´¹ä»è¨äºï¼æ¬ããã°ï¼ã«ã¯ã¦ããä»ãã¯ããã¦ãããã¨ä¸¦è¡ãã¦ãµã¤ãã«ãã¢ã¯ã»ã¹ãéã¾ã£ã¦ãã¾ããã
æ°ã¥ãã°ãµã¤ããã ãã ãéããªã£ã¦ãã¦ãç»åãã¨ããã©ãã表示ãããªããªã£ã¦ãããã¯ã¤ããã
ï¼å¾ãã調ã¹ãã¨ããã§ã¯ã1æé3,000PVãè¶ ãããããããã ãã ãéããªã£ã¦ãã¦ãã¾ããï¼
ç¸å¤ããããã«ã®ã²ã¨ã¤è¦ãã¿ããã« load average ãç£è¦ãã¦ãã¦ãã¾ã 1.0 以ä¸ã®å¤ã ã£ãã®ã§ãããï¼ãªãã§ã ãï¼ããªãã¦æã£ã¦ã¾ãããããããã«ããã¼ï¼ãããã¯ã¼ã¯ãã¼ï¼ãã¨æ°ã¥ãã¦ãnetstat ã³ãã³ãå©ãã¾ããã
|| $ netstat -s ||<
TCP ã®ãfailed connection attemptsï¼æ¥ç¶å¤±ææ°ï¼ããã¿ãã¿ãä¸ãã£ã¦ããã®ãè¦ã¦ãããã¤ãã¤ãã¨ãªãã¨ï¼ã§ããæ£ç´ãããã®ã¨ããã¯ã¤ãã¤ãããåãã£ã¦ãªãã§ããããããåå¼·ãããã¨æãã¾ãï¼
-netstat - ホストのネットワーク統計や状態を確認する
-サーバやPCのボトルネック箇所の簡単な見分け方(Linux編) - 佐野裕のサーバ管理者日記:ITpro
*5. ç»åãã¡ã¤ã«ãå¥ãµã¼ãã«ç§»ãï¼ã¡ã¢ãª1GBã®ãµã¼ã2å°æ§æï¼
ãããã¯ã¼ã¯ãã©ãã£ãã¯ãã¤ããã¨æ°ã¥ããã®ã§ãã¾ãã¯ç»åãã¡ã¤ã«ãå¥ãµã¼ãã«ç§»ããã¨èãã¾ããã
幸ããéçºç°å¢ç¨ã«ãæ¬çªç°å¢ã¨åæ§ã®ãµã¼ãã1å°åãã¦ããã®ã§ãç»åã®åç § URL ããã¡ãã«åãã¦æ¥å ´ãåããã¨ã
ããããã¨ãã« Rails 3.1 ããå°å ¥ããã Asset Pipeline ã¯ä¾¿å©ã§ãããè¨å®ãã¡ã¤ã«ã«
|ruby| config.action_controller.asset_host = "http://assets.h.300x.info" ||<
ã¨ä¸è¡æ¸ãè¶³ãã¦ãããã ãã§äºãæ¸ãã§ãã¾ãã¾ãã
ç»åãã¡ã¤ã«ï¼æ£ç¢ºã«ã¯ãJavaScriptãCSS ãï¼ãå¥ãµã¼ãã«ç§»ãã¦ãã¡ã¢ãª1GBã®ãµã¼ã2å°æ§æã«ãªãã¾ãããå¤å°ãã£ããæãæ®ããã®ã®ãæ£å¸¸ã«è¡¨ç¤ºãããããã«ãªãã¾ããã
*6. ç»åãã¡ã¤ã«ã Amazon CloudFrontï¼CDNï¼ã«ç§»ãï¼ã¡ã¢ãª1GBã®ãµã¼ã1å° + CDNï¼
ãããªãããªã§ããªãªã¼ã¹å½æ¥ã¯ç»åãå¥ãµã¼ãã«ç§»ãçµããæ®µéã§åºã«å°±ããã®ã§ãããå¸å£ã®ä¸ã§
ãã£ã±ããã®ãã£ããæã¯ãããã®ã§ã¯ãªããï¼ <<
ã¨æãã¾ãã¦ã
å¤å°è²»ç¨ãããã£ã¦ããµã¯ãµã¯åãããã«ãããããããããããããã¨ã«å¯è±ªçã«å¯¾å¿ã§ããããã«ããã®ãã90æ¥ééå®ã«ããçç±ã®ã²ã¨ã¤ãªãã ãã
ã¨ããããã§ããªãªã¼ã¹ç¿æ¥ã«ããµã¯ãµã¯åä½ä½æ¦æ±ºè¡ã
ããæ¹ã¨ãã¦ãåç·ã太ãå°ç¨ãµã¼ãã«ç§»è¡ããã¨ããæããã£ãã®ã§ãããã¢ãã«ãã³ã³ãã³ã OK ã§æ¡ä»¶ã«è¦åããµã¼ããæ¢ãã®ã«ã¯æéããããããã ã£ãã®ã§ãAWS ã® CDN ã§ãããAmazon CloudFrontããå©ç¨ããäºã«æ±ºãã¾ããã
ã¡ãªã¿ã«ãCDN ã¨ããã®ã¯ Contents Delivery Network ã®ç¥ã§ãç»åã鳿¥½ãåç»ãªã©ã®ãã¡ã¤ã«ãµã¤ãºã大ããªã³ã³ãã³ããé ä¿¡ãããã¨ã«æé©åããããããã¯ã¼ã¯ã®ãã¨ã§ããåç·ããã£ã¡ã太ããããã
CDN ã¨ããã° Akamaiï¼ã¢ã«ãã¤ï¼ãæåã§ãããã³ã¹ãããã©ã¼ãã³ã¹ã®é¢ã§ã¯ AWS ã® S3 ã¨é£æºãã CloudFront ãã¤ã¤ãããã¨ããè©å¤ãèãã¦ããã®ã§ãCloudFront ãé¸ã³ã¾ããã
å°å ¥ã®æ¹æ³ã«ã¤ãã¦ã¯ä¸è¨ãµã¤ãã詳ããã§ãããç¹ã«ããããã¨ã«ãªã3æéãããã§ä½æ¥ãçµããã¾ããï¼ãã¡2æéã¯ãã¡ã¤ã«ã®ã¢ãããã¼ãï¼
-Amazonが従量課金制のCDNサービス「Amazon CloudFront」を開始・・・したので試してみた - RX-7乗りの適当な日々
-Amazonの従量課金制CDNサービス「Amazon CloudFront」を使う方法 - RX-7乗りの適当な日々
ï¼Amazon CloudFront ã«é¢ãããã®ä»ã®åèãµã¤ãã¯ããã¼ã¸ä¸é¨ã«ã¾ã¨ãã¾ããï¼
ã§ãç»åã CloudFront ã«ç§»ãçµããããã¬ã¹ãã³ã¹ãéãã®ãªãã®ããªãªã¼ã¹2æ¥ç®ã«ã¯åè¿°ã®ã¨ãã10ä¸PV/æ¥ãã£ãã®ã§ãããã¾ã£ããåé¡ãªãã¬ã¹ãã³ã¹ãããã«è¿ã£ã¦ãã¦æåãã¾ããã
*7. æè¨ - ç»åãå«ããç·åçãªè² è·ãã¹ããå¿ è¦
ä»åå¾ãããæè¨ã¨ãã¦ãç»åãå¤ãã®ãµã¤ãã§ããã°ãç»åãå«ããç·åçãªè² è·ãã¹ããå¿ è¦ã ã¨ãããã¨ã§ãã
ãªãªã¼ã¹åã«å©ç¨ãã ab ã httperf ã¯ãªã¯ã¨ã¹ããæãã¦ã¡ã¤ã³ã® html ãè¿ã£ã¦ããã¾ã§ããæ±ãããããã«ç»åã使ããã¦ãã¦ãç»åãåãã«ã¯ããã¾ããã
ããããç»åãå¤ãã®ãµã¤ãã§ã¯ãããã¯ã¼ã¯ãã©ãã£ãã¯ãããã«ããã¯ã«ãªããã¨ãå¤ããããªã®ã§ããã®ãããã調ã¹ãã«ã¯ç»åãåãã«ãã£ã¦ãããè² è·ãã¹ããã¼ã«ã使ãå¿ è¦ãããã¾ãã
ç»åãåãã«ãã£ã¦ããã髿©è½ãªè² è·ãã¹ããã¼ã«ã¨ãã¦ã¯ãApache JMeterããå®çªã§ããããLoad Impactãã¨ãããæ¯æ5åã¾ã§ã¯ç¡æã§ä½¿ãã Web ãµã¼ãã¹ãããã¾ãï¼æè¿ç¥ãã¾ããï¼
-WEBサイト負荷テストツール7選 | さぶみっと!JAPAN
-Load Impact - On Demand Website Load Testing and Performance Testing Service
ãã¨ããªã¯ã¨ã¹ããé£ç¶ã§æãããã¨ãã¯ã§ãã¾ããããä½ã«ã©ãã ãã®æéãããã£ã¦ããã®ãã調ã¹ãã«ã¯ Firebug ãä¸çªããããããããããã¾ãããã
-Firebug | Firefox アドオン | Mozilla Japan の公式アドオン紹介サイト
以ä¸ã§ããã©ãªããã®åèã«ãªãã°å¹¸ãã§ããã§ã¯ã§ã¯ã
*åèãµã¤ã
-Amazon S3 + CloudFrontを試す - CODE NAME: TUNE34
-Amazon CloudFrontを活用して高速なコンテンツ配信を実現しよう 〜Amazon EC2/S3環境構築のすべて〜(1/3):CodeZine
-AmazonS3上のファイルを国内でも高速配信可能なAmazon CloudFrontリリース|Media Technology Labs (MTL) : メディアテクノロジーラボ
-Amazon CloudFrontの使用上の注意とTipsまとめ|Media Technology Labs (MTL) : メディアテクノロジーラボ
*ãã®ã¨ã³ããªã¼ã®ã¤ã¥ã
-エロサイトにかかった CDN 利用料と、それを半分に抑えてくれた JPEGmini
-Rails3 と jQuery で、真面目にオシャレなエロサイトをつくってみました
-Rails 3.2 + jpmobile でスマートフォン対応したみた
-エロサイトのアクセス解析をしてわかった 6つの法則

