Railsåå¼·ä¼@æ±äº¬ç¬¬23å ã«è¡ã£ã¦ããã2é±éé ãã ãã©ã¬ãã¼ãããã åå¼·ä¼ã®å½¢å¼ã¯ ãã¤ãã®ãã¨ã ã ãã ãä»åã¯è©¦é¨çã«ãæ¼é£æè¦ªä¼ããè¡ãªã£ãã ããã§è©±ãã¦ãããã¡ã«ãã¡è§£ãã¦ã»ãã·ã§ã³ãå¼¾ãã®ã§ã¯? ã»ãã·ã§ã³ã®æéãæ½°ãã¦é·ãèªå·±ç´¹ä»ãããªãã¦ããèªç¶ã«ç¸æãèªèã§ããã®ã§ã¯? ã»ãã·ã§ã³æ¡ãèªç¶ã«åºã¦ããã®ã§ã¯? å¤ã®ã飲ã¿ä¼æè¦ªä¼ããããå®ãæ¸ãã®ã§ã¯? ã¨ããè¶£æ¨ã ããããã好è©ã ã£ã模æ§ããã ãç§ã¯ã©ããå æ°ãåºãªãã¦é ãã¦ãã£ãã®ã§æè¦ªä¼ã¯æ®ã©åºã¦ãªãã åå ååã¯3ã¤ã®ã»ãã·ã§ã³ã«åãããã Rails 2.0ãèªãã åå¿è ã»ãã·ã§ã³ - Scaffoldã®åæ©å ã« ãã ãã åã åå¿è ã»ãã·ã§ã³ã¯ååã¨åãå 容ã ããã ãScaffoldã¯è©¦ãã¦ã¿ãããã©ããã®å ã¸é²ããªãã¨ããRailsåå¿è ã®ããã«ãScaffoldã§çæãããã¢ãã«ãã³ã³ããã¼ã©
ã¯ããã« Star It!ã®ã¢ã¯ã»ã¹æ°ãå¢ãã¦ãã¦ãè²ã ã¨æ¯éãã§ã¦ããã®ã§ãããããã£ã¦å人ã®ä¼ç¤¾ã«ç½®ãã¦ãããµã¼ãã¸ã¨ç§»ãã¦ã¿ã¾ããããããã«ããããã¤ã³ã¿ã¼ãããã®å ±ç¨ãµã¼ãä¸ã§ã1æ¥ããã10ä¸ã¯ã¨ãªãCGI + sqlite3ã¨ããæ§æã§ãã°ãã®ã¯ç¡çããã£ãããã§ããæ°å¤©å°ã§ã¯ããã¼ã¿ãã¼ã¹ãMySQLã¸ã¨å ¥ãæ¿ããããã§ãPoundã¨Mongrelãããã«Apache2.0ç³»ã¨ããæ§æã«ãã¦ã¿ã¾ããã®ã§ãã°ã£ã¡ãåãã¦ããããã¨ãæå¾ ãã¦ãã¾ãã ã¨ããããã§ãä»åã®ã¨ã³ããªã¼ã¯ãPoundã¨Mongrelãããã«Apache2.0ç³»ãå©ç¨ãã¦ãRuby on Railsã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ç°å¢ãæ§ç¯ãã¦ã¿ãããã¨ãã話ã§ãããã®æ§æã®ã¡ãªããã¯ãååãªã¹ã±ã¼ã©ããªãã£ãå¾ãããã§ãæè»æ§ã確ä¿ã§ããã¨ããç¹ãæãããã¾ããç§ã®ãµã¼ãç°å¢ã¯Debian GNU/Linuxã§
ã´ã¼ã« è² è·åæ£ã®ããã¤ãã®æ¹æ³ã«é¢ãã¦çè§£ãã mod_proxy_balancerã«ããè² è·åæ£ã¯ã©ã¹ã¿ãæ§ç¯ã§ãã åºç¤ç¥èç·¨ åºæ¬çãªè³æ 主ã«ã¯ã©ã¹ã¿ã«ããè² è·åæ£ã®è³æã - Apache ã¢ã¸ã¥ã¼ã« mod_proxy_balancer - mod_proxy_balancerã§ä¸?å¤§è¦æ¨¡ãµã¼ãã¼éç¨ããã¨ãã®åæ - cyano ãã¨ç¤¾å¤ç§è³æã è² è·åæ£ï¼ è¤æ°å°ã®ãµã¼ãã«ã¢ã¯ã»ã¹ã忣ãã¦ãåã ã®ãµã¼ãã«ãããè² è·ãæ¸ãããå ¨ä½çã«å¦çã§ããã¢ã¯ã»ã¹ãå¢ãããã¨ã 以ä¸ã®ãããªã¢ããã¼ããããã DNSã©ã¦ã³ãããã³ DNSã§ã²ã¨ã¤ã®ãã¹ãåã«è¤æ°ã®IPã¢ãã¬ã¹ãå²ãå½ã¦ãæ¹æ³ ã·ã³ãã« ããããã¦ã³ãã¦ãããã¹ãã«ãã¢ã¯ã»ã¹ãæ¯ãåãããã¦ãã¾ã åé·åã¨ä½µç¨ã§ãªãã¨ããªãããªï¼ æ©è½ãã¨ã«ãã¹ããåå² ã¦ã§ããµã¼ãã¨DBãµã¼ãã®åå²ï¼åºæ¬éãããä¸å¿ãããè² è·åæ£ï¼
The document provides insights on scaling a Rails application, highlighting the importance of optimizing databases, caching, and handling messaging effectively. It discusses various tools and techniques such as memcache, indexing, and denormalization to improve performance amidst increasing user demands. Additionally, the document emphasizes the need for pre-emptive problem tracking and testing to
ãã®ã¨ãã®çºè¡¨è³æã¨é³å£°ãå ¬éãã¾ãã çºè¡¨è³æ(PDF 1532KB) é³å£°(MP3 57350KB) â»é³å£°ã¯ããªã¥ã¼ã æå¤§ã«ããªãã¨èãããªãããããã¾ããã»ã»ããããªãã â»è³æã¯PDFã«å¤æãã¦ããã®ã§ã¢ãã¡ã¼ã·ã§ã³ãããã¾ããã»ã»ããããªãã å 容㯠DSASã®è¨è¨ææ³ ããã£ã±ãããåé·å NICãåé·åãã¦ã¿ãã L2SWãåé·åãã¦ã¿ãã WEBãµã¼ããåé·åãã¦ã¿ãã ãã¼ããã©ã³ãµãåé·åããã ã¡ã³ããã³ã¹æ§ãéè¦ãããããã¯ã¼ã¯æ§æ VLANã®ç´¹ä» ã¿ã°VLANã®ç´¹ä» Linuxã§ãã¿ã°VLAN DSASã®æ§æ ããã³ãã¨ã³ããµã¼ãã¹åããµã¼ã群ã®ç¹å¾´ ãã¹ã¿ãµã¼ãã®ç¹å¾´ Webãµã¼ãã®ç¹å¾´ ãããªæãã«ãªã£ã¦ãã¾ãã ããããã¾ã§å¤ãã®æ¹ã«ãåå ããã ããçæ³ã®ãã¡ã«çµäºãããã¨ãã§ãã¾ããã æè¦ªä¼ãã¨ã¦ã楽ããã£ãã§ãã ä»åã®åçç¹ã¨ãã¦ã¯ãã ããããã
TheC10kProblem - ãC10Kåé¡ãï¼ã¯ã©ã¤ã¢ã³ã1ä¸å°åé¡ï¼ã¨ã¯ããã¼ãã¦ã§ã¢ã®æ§è½ä¸ã¯åé¡ããªãã¦ãããã¾ãã«ãã¯ã©ã¤ã¢ã³ãã®æ°ãå¤ããªãã¨ãµã¼ãããã³ã¯ããåé¡ã®ãã¨ ç®æ¬¡ ãã®ææ¸ã«ã¤ã㦠C10K åé¡ é¢é£ãµã¤ã ã¾ãèªãã¹ãæ¬ I/O ãã¬ã¼ã ã¯ã¼ã¯ I/O æ¦ç¥ 1. åã¹ã¬ãããè¤æ°ã®ã¯ã©ã¤ã¢ã³ããåãä»ãã. ããã¦ãã³ããããã³ã° I/O 㨠ã¬ãã«ã»ããªã¬åã®å®äºéç¥ãå©ç¨ãã. ä¼çµ±ç㪠select() ä¼çµ±ç㪠poll() /dev/poll kqueue() 2. åã¹ã¬ãããè¤æ°ã®ã¯ã©ã¤ã¢ã³ããåãä»ãã. ããã¦ãã³ããããã³ã° I/O ã¨ å¤æ´åã®å®äºéç¥(readiness change notification)ãå©ç¨ãã. kqueue() epoll ãªã¢ã«ã¿ã¤ã ã»ã·ã°ãã« fd åä½ã®ã·ã°ãã« (Signal-per-fd)
å æ¥çºè¡¨ãã¦ãããã°ãªã¼ãã㮠第9å ãªã¼ãã³ã½ã¼ã¹ãã¯ããã¸ã¼åå¼·ä¼ ãDSASã®ãããããã®çºè¡¨è³æã¨é³å£°ãå ¬éãã¾ããã çºè¡¨è³æ (PDF, 2,294 KB) é³å£° (mp3, 32,151 KB) çºè¡¨ã¯ãããªå 容ã§ãã èªå·±ç´¹ä» [0:22] (1) DSASã®ç¹å¾´ã®ç´¹ä» [6:34] è¨è¨ææ³ãå ¨ä½æ§æãªã© (2) DSASã®æ§æè¦ç´ ã®ç´¹ä» [17:22] ãã¼ããã©ã³ãµ - LVS, keepalived [17:33] ãããã¯ã¼ã¯ãã¼ãã®æ´»ç¨ [30:23] æ éã«å¼·ãã¹ãã¬ã¼ã¸ãµã¼ã - DRBD [37:15] NICã®äºéå - bonding [44:29] ã·ãªã¢ã«æ¥ç¶ 温æ ç¥æ° [46:24] ãµã¼ããªã½ã¼ã¹ã®è¦ããå - ganglia [49:11] 質çå¿ç [58:00] çºè¡¨ã¯ããªãé§ãè¶³ã§ãããã ãã¼ããã©ã³ãµ (LVS, keepaliv
ããªãããã忥ããã人ã®ããã®ã¬ã³ã¿ã«ãµã¼ãã¼é¸ã³ ãã£ã¨ãµã¼ãã¼ã®ç§»è»¢ä½æ¥ãå®äºãã¾ããã ä»ã¾ã§ããªãããï¼ã使ã£ã¦ãããã©ãããã§ã¯MySQLã®ãã¼ã¿ãã¼ã¹ã1åããæã¦ãªãããæã MySQLãµã¼ãã¼ãè½ã¡ããããããå®é¨ããããªã£ãããXOOPSãªã©ã®CMSã使ããããªã£ã¦ä¸æºç¹ãå¢ãã¦ããã®ã§ããµã¼ãã¼ã移転ãããã¨ã«ããã æ°ãµã¼ãã¼ã¸ã®è¦æ±ã¹ããã¯ã¯ä»¥ä¸ã®ã¨ããã ã»ãã«ããã¡ã¤ã³ï¼ã²ã¨ã¤ã®ãµã¼ãã¼ã§è¤æ°ãã¡ã¤ã³ã®è¤æ°ãµã¤ããéå¶ã§ããï¼ ã»MovableTypeãXOOPSãååã«ä½¿ãããµã¼ãã¼ã¹ããã¯ ã»æé¡5,000åä»¥ä¸ ã»ããããã®å®¹éãé度 æåã¯å°ç¨ãµã¼ãã¼ãVPSãæ¤è¨ãã¦ããã®ã ãã©ãå ±æã¬ã³ã¿ã«ãµã¼ãã¼ã§ããã«ããã¡ã¤ã³å¯è½ãªãµã¼ãã¹ããããã¨ãç¥ã£ãã®ã¨ãã³ã³ããã¼ã«ããã«ãæ´åãããå ±æãµã¼ãã¼ã®æ¹ã管çã«æéãã¨ãããªãã§æ¸ãããè²»ç¨ãå®ã
ã©ã³ãã³ã°
ãç¥ãã
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}