ããã©ãŒãã³ã¹ã¯ãæãéèŠãªéæ©èœã¢ããªã±ãŒã·ã§ã³èŠä»¶ã®1ã€ãšèŠãªãããŸãã ãã®èšäºãèªãã§ããå Žåã¯ãããããWebãã©ãŠã¶ãŒãããã¥ã¡ã³ããèªãããã®ããã°ã©ã ãªã©ã®ã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠããã®ã§ãããã©ãŒãã³ã¹ã®äŸ¡å€ãã©ãã»ã©çŽ æŽãããããå®æã§ããŸãã ãã®èšäºã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãšãé«ãã¢ããªã±ãŒã·ã§ã³ããã©ãŒãã³ã¹ã®éæãäžå¯èœã«ãã3ã€ã®éçºè
ã®ãã¹ã«ã€ããŠèª¬æããŸãã
誀ã£ãã¢ãããŒãNo. 1.éçºæè¡ã®ç解äžè¶³
ããã°ã©ãã³ã°ã®çµéšã¯é¢ä¿ãããŸãããé«æ ¡ãåæ¥ããã°ããããé·å¹Žã®çµéšããããããããŸããããããã°ã©ã ãéçºããå¿
èŠãããå Žåã¯ããã§ã«éçºæžã¿ã®ã³ãŒããèŠã€ããããšããã§ãããã ãã¡ããããã®ã³ãŒãã¯ã䜿çšããããã°ã©ãã³ã°èšèªãšåãã§ããããšãæãŸããã§ãã
ããã«ã¯äœã®åé¡ããããŸããã ãã®ã¢ãããŒãã¯ãå€ãã®å Žåãéçºã®é«éåã«ã€ãªãããŸãã äžæ¹ãããããããšã§ãäœãæ°ããããšãåŠã¶æ©äŒã倱ããŸãã ãã®ã¢ãããŒãã䜿çšãããšãã³ãŒããé©åã«åæããã¢ã«ãŽãªãºã ã ãã§ãªãã³ãŒãã®åè¡ã®å
éšåäœãç解ããããã®æéãèŠã€ããããšã¯éåžžã«ãŸãã§ãã
ããã¯ãéçºè
ãééã£ãæ¹åã«é²ãã§ããç¶æ³ã®äžäŸã§ãã ãã ãããã®ãããªæ¹æ³ã¯å€æ°ãããŸãã ããšãã°ãç§ãè¥ããŠãœãããŠã§ã¢éçºã«ç²Ÿéãå§ãããšããç§ã¯ãã¹ãŠã®äžåžãç䌌ããããšããŸããã圌ãããããšã¯ãã¹ãŠãå®ç§ã§ééããªãæ£ããããã«æããŸããã ç§ãäœããããå¿
èŠããããšããç§ã¯ãã¹ãåãããšãããã®ãèŠãŠãå¯èœãªéãæ£ç¢ºã«ãã¹ãŠã®åœŒã®è¡åãç¹°ãè¿ãããšããŸããã ç§ã¯åœŒã®ã¢ãããŒãããªãæ©èœããã®ãç解ã§ããªãã£ãããšãäœåºŠããããŸããããæ¬åœã«éèŠãªã®ã§ããããïŒ äž»ãªããšã¯ããã¹ãŠãæ©èœãããšããããšã§ãïŒ
å²ãåœãŠãããã¿ã¹ã¯ã解決ããããã«å¯èœãªéãäžçæžåœåãéçºè
ã®ã¿ã€ãããããŸãã ååãšããŠã圌ãã¯æ¢è£œã®ã³ã³ããŒãã³ããã³ã³ããŒãã³ãããããã¯ãæ¢ãããããã®ãã¹ãŠã®éšåãçµã¿ç«ãŠãã°å®äºã§ãïŒ ã¿ã¹ã¯ãå®äºããŸããïŒ ãã®ãããªéçºè
ã¯ãèŠã€ãã£ãã³ãŒããã©ã°ã¡ã³ãã調æ»ããŠç解ããããã«æéããããããšã¯ãã£ãã«ãªããã¹ã±ãŒã©ããªãã£ãã¡ã³ããã³ã¹ã®å®¹æããããã©ãŒãã³ã¹ãªã©ã®ããã€ããŒããªããšããŸã£ããæ°ã«ããŸããã
éçºè
ãåé¡ã«ééããããšããªãå Žåãããã°ã©ã ã®åã³ã³ããŒãã³ããã©ã®ããã«æ©èœããããæ£ç¢ºã«ç解ããªãå¥ã®ã·ããªãªãèããããŸãã åããŠãã¯ãããžãŒã䜿çšããŠããŠãåé¡ãããå Žåã¯ããã®ãã¯ãããžãŒã詳现ã«ç 究ããæçµçã«ãã®ä»çµã¿ãèŠã€ããŸãã
ãã¯ãããžãŒã®ç解ãšãã®éåžžã®äœ¿çšã®éããç解ããã®ã«åœ¹ç«ã€ããã€ãã®äŸãèŠãŠã¿ãŸãããã ç§ã¯äž»ã«.NET *ããŒã¹ã®Webãœãªã¥ãŒã·ã§ã³ã®éçºã«æºãã£ãŠãããããããã«ã€ããŠèª¬æããŸãã
âJavaScript*ããã³DOM
次ã®ã³ãŒãäŸãæ€èšããŠãã ããã ãã¹ãŠãã·ã³ãã«ã§ãã ã³ãŒãã¯ãDOMã®1ã€ã®èŠçŽ ã®ã¹ã¿ã€ã«ãæŽæ°ããã ãã§ãã åé¡ïŒçŸåšã®ãã©ãŠã¶ãŒã§ã¯ããã®åé¡ã¯ããã»ã©é¢é£ããŠããŸããããç§ã®èãã説æããã®ã«éåžžã«é©ããŠããŸãïŒã¯ãã³ãŒããDOMããªãŒã3åãã€ãã¹ããããšã§ãã ã³ãŒããç¹°ãè¿ããããšãããã¥ã¡ã³ããéåžžã«å€§ããè€éã«ãªããŸãããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã¯å€§å¹
ã«äœäžããŸãã
ãã®ãããªåé¡ãä¿®æ£ããã®ã¯éåžžã«ç°¡åã§ãã 次ã®ã³ãŒãäŸãã芧ãã ããã å€æ°
myFieldã®ãªããžã§ã¯ããæäœããåã«ãçŽæ¥ãªã³ã¯ãä¿æãããŸãã æ°ããã³ãŒãã¯ããã³ã³ãã¯ãã§ãèªã¿ããããç解ãããããDOMããªãŒã¯1åããã¢ã¯ã»ã¹ãããªããããããé«éã«åäœããŸãã
å¥ã®äŸãèããŠã¿ãŸãããã ãã®äŸã¯
ããããåã
ããŸã ã
次ã®å³ã¯ã2ã€ã®åçã®ã³ãŒããã©ã°ã¡ã³ãã瀺ããŠããŸãã ããããã1000åã®
lièŠçŽ ãæã€ãªã¹ããäœæããŸãã å³åŽã®ã³ãŒãã¯å
lièŠçŽ ã«
idå±æ§ãè¿œå ããå·ŠåŽã®ã³ãŒãã¯å
lièŠçŽ ã«
ã¯ã©ã¹å±æ§ãè¿œå ããŸãã
ã芧ã®ãšãããã³ãŒããã©ã°ã¡ã³ãã®2çªç®ã®éšåã¯ãäœæãããæ°åã®
lièŠçŽ ã®ãããããåã«åç
§ããŠããŸãã Internet Explorer * 10ããã³Chrome * 48ã§é床ã枬å®ããŸãããå·ŠåŽã®ã³ãŒãã®å¹³åå®è¡æéã¯57ããªç§ã§ãå³åŽã®ã³ãŒãã®å®è¡æéã¯ããã9ããªç§ã§ã倧å¹
ã«ççž®ãããŸããã ãã®å ŽåãèŠçŽ ã«ã¢ã¯ã»ã¹ããããŸããŸãªæ¹æ³ã«ãã£ãŠã®ã¿åŒãèµ·ãããããšããäºå®ã«ãããããããéãã¯éåžžã«å€§ãããªããŸãã
ãã®äŸã¯éåžžã«æ
éã«åãã¹ãã§ãã ãã®äŸã§ã¯ãã»ã¬ã¯ã¿ãŒããã§ãã¯ããé åºïŒããã§ã¯å³ããå·Šãžã®é åºïŒãªã©ãåæã«é¢ããå€ãã®èå³æ·±ãç¹ããŸã ãããŸãã jQuery *ã䜿çšããå Žåã¯ãDOMã³ã³ããã¹ãã«ã€ããŠãèªã¿ãã ããã äžè¬çãªCSSã»ã¬ã¯ã¿ãŒã®ããã©ãŒãã³ã¹ã®ååã«ã€ããŠã¯ã
ãã¡ããã芧ãã ããã
æåŸã®äŸã¯JavaScriptã³ãŒãã§ãã ãã®äŸã¯ã¡ã¢ãªã«é¢é£ããŠããŸããããã¹ãŠãå®éã«ã©ã®ããã«æ©èœããããç解ããã®ã«åœ¹ç«ã¡ãŸãã ãã©ãŠã¶ã®ã¡ã¢ãªæ¶è²»éãå€ããããšãããã©ãŒãã³ã¹ãäœäžããŸãã
次ã®å³ã¯ã2ã€ã®ããããã£ãš1ã€ã®ã¡ãœãããæã€ãªããžã§ã¯ããäœæãã2ã€ã®ç°ãªãæ¹æ³ã瀺ããŠããŸãã å·ŠåŽã§ã¯ãã¯ã©ã¹ã³ã³ã¹ãã©ã¯ã¿ãŒããªããžã§ã¯ãã«2ã€ã®ããããã£ãè¿œå ããã¯ã©ã¹ãããã¿ã€ããéããŠè¿œå ã®ã¡ãœãããè¿œå ãããŸãã å³åŽã§ã¯ãã³ã³ã¹ãã©ã¯ã¿ãŒã¯ããããã£ãšã¡ãœããã®äž¡æ¹ãããã«è¿œå ããŸãã
ãã®ãããªãªããžã§ã¯ããäœæããåŸããããã®2ã€ã®æ¹æ³ã䜿çšããŠæ°åã®ãªããžã§ã¯ããäœæãããŸãã ãããã®ãªããžã§ã¯ãã䜿çšããã¡ã¢ãªéãæ¯èŒãããšãChromeã®æµ
ããµã€ãºã®ã¡ã¢ãªé åãšä¿æãµã€ãºã®ã¡ã¢ãªé åã®äœ¿çšã«éããããããšãããããŸãã ãããã¿ã€ãã¢ãããŒãã§ã¯ãShallow Sizeé åã§çŽ20ïŒ
å°ãªãã¡ã¢ãªïŒ24 KBãšæ¯èŒããŠ20 KBïŒãRetained Memoryé åã§66ïŒ
å°ãªãã¡ã¢ãªïŒ60 KBãšæ¯èŒããŠ20 KBïŒã䜿çšããŸãã
æµ
ããµã€ãºãšä¿æãµã€ãºã®è©³çŽ°ã«ã€ããŠã¯ã
ãã¡ããåç
§ããŠ
ãã ãã ã
é©åãªãã¯ãããžãŒã®äœ¿çšæ¹æ³ãç¥ã£ãŠãããªããžã§ã¯ããäœæã§ããŸãã ç¹å®ã®ãã¯ãããžãŒã®ä»çµã¿ãç解ãããšãã¡ã¢ãªç®¡çãšããã©ãŒãã³ã¹ã®èŠ³ç¹ããã¢ããªã±ãŒã·ã§ã³ãæé©åã§ããŸãã
âLINQ
説æãããããã¯ã«é¢ããäŒè°ã§ã®ã¹ããŒãã®æºåãšããŠããµãŒããŒã³ãŒãã䜿çšããäŸãæºåããããšã«ããŸããã LINQã¯.NETã®äžçã§æ°ããéçºã«åºã䜿çšãããŠãããããã©ãŒãã³ã¹ãåäžããã倧ããªå¯èœæ§ããããããLINQ *ã䜿çšããããšã«ããŸããã
次ã®äžè¬çãªã·ããªãªãæ€èšããŠãã ããã 次ã®å³ã¯ãæ©èœçã«åçã®2ã€ã®ã³ãŒããã©ã°ã¡ã³ãã瀺ããŠããŸãã ã³ãŒãã®ç®çã¯ãåŠæ ¡ã®ååŠéšã®ãã¹ãŠã®åŠç§ãšãã¹ãŠã®ã³ãŒã¹ã®ãªã¹ããäœæããããšã§ãã Select N + 1ãšããã³ãŒãã§ã¯ããã¹ãŠã®éšéã®ãªã¹ãã衚瀺ããéšéããšã«ã³ãŒã¹ã®ãªã¹ãã衚瀺ããŸãã ããã¯ã100ã®ãã©ã³ããããå ŽåãããŒã¿ããŒã¹ãžã®1 + 100ã®åŒã³åºããå¿
èŠã§ããããšãæå³ããŸãã

ãã®åé¡ã¯å¥ã®æ¹æ³ã§è§£æ±ºã§ããŸãã å³åŽã®ã³ãŒãã¹ããããã«ã¯ã1ã€ã®ç°¡åãªã¢ãããŒãã瀺ãããŠããŸãã Includeã¡ãœããã䜿çšããå ŽåïŒãã®å Žåãç解ã容æã«ããããã«ããŒãã³ãŒããããæååã䜿çšããŸãïŒãããŒã¿ããŒã¹ãžã®åŒã³åºãã¯1ã€ã ãã§ããã®åäžã®åŒã³åºãã¯ãã¹ãŠã®éšéãšã³ãŒã¹ãããã«çºè¡ããŸãã ãã®å Žåã2çªç®ã®foreachã«ãŒããå®è¡ãããšãåéšéã®ãã¹ãŠã®Coursesã³ã¬ã¯ã·ã§ã³ãæ¢ã«ã¡ã¢ãªå
ã«ãããŸãã
ãããã£ãŠãSelect N + 1ã¢ãããŒããé¿ããã ãã§ãçç£æ§ãæ°çŸåã«é«ããããšãã§ããŸãã
ããã»ã©æçœã§ãªãäŸãèããŠã¿ãŸãããã 次ã®å³ã§ã¯ã2ã€ã®ã³ãŒããã©ã°ã¡ã³ãã®å®å
šãªéãã¯ã2è¡ç®ã®å®å
ãªã¹ãã®ããŒã¿åã§ãã ããã§çåã«æããããããŸããïŒå®å
ããŒã¿ã®ã¿ã€ãã¯äœãã«åœ±é¿ããŸããïŒ ãã®ãã¯ãããžãŒã®æäœãåŠç¿ãããšãç解ã§ããŸããå®å
ããŒã¿ã®ã¿ã€ãã«ãã£ãŠãããŒã¿ããŒã¹ã¯ãšãªãå®è¡ãããã¿ã€ãã³ã°ãå®éã«æ±ºãŸããŸãã ãããŠããããããåãªã¯ãšã¹ãã®ãã£ã«ã¿ãŒãé©çšãããæéã«äŸåããŸãã
IEnumerableããŒã¿åãäºæãããã³ãŒãïŒ1ã§ã¯ã
Take EmployeeïŒ10ïŒãå®è¡ãããçŽåã«ã¯ãšãªãå®è¡ãããŸãã ããã¯ã1000人ã®åŸæ¥å¡ãããå Žåããããã¯ãã¹ãŠããŒã¿ããŒã¹ããååŸããããã®åŸ10人ãéžæãããããšãæå³ããŸãã
ã³ãŒãïŒ2ã§ã¯ã
Take EmployeeïŒ10ïŒãå®è¡ãããåŸã«ã¯ãšãªãå®è¡ãããŸãã ãã®å ŽåãããŒã¿ããŒã¹ããååŸãããã¬ã³ãŒãã¯10åã®ã¿ã§ãã
次ã®èšäºã§ã¯ãç°ãªãã¿ã€ãã®ã³ã¬ã¯ã·ã§ã³ã䜿çšããå Žåã®éãã«ã€ããŠè©³ãã説æããŸãã
âSQLServer
SQLã§ã¯ãæé«ã®ããŒã¿ããŒã¹ããã©ãŒãã³ã¹ãå®çŸããããã«å€ãã®æ©èœãåŠã¶å¿
èŠããããŸãã SQL Serverã®æäœã¯ç°¡åã§ã¯ãããŸãããããŒã¿ã®äœ¿çšæ¹æ³ãæãé »ç¹ã«èŠæ±ãããããŒãã«ãããã³ãã£ãŒã«ããç解ããå¿
èŠããããŸãã
ããã§ããçç£æ§ãåäžãããããã«ã次ã®ãããªå€ãã®äžè¬ååãé©çšã§ããŸãã
- ã¯ã©ã¹ã¿ãŒãŸãã¯éã¯ã©ã¹ã¿ãŒã€ã³ããã¯ã¹ã
- JOINåœä»€ã®æ£ããé åº
- #tempããŒãã«ãšå€æ°ããŒãã«ããã€äœ¿çšããããç解ãã
- ãã¥ãŒãŸãã¯ã€ã³ããã¯ã¹ä»ããã¥ãŒã®äœ¿çšã
- ããªã³ã³ãã€ã«ãããåœä»€ã®äœ¿çšã
ç°¡æœã«ããããã«ãç¹å®ã®äŸãæããŸãããããããã®ååã¯äœ¿çšãåæãæé©åã§ããŸãã
thinkingå€åããæè
ããã§ã¯ãéçºè
ã¯ã©ã®ããã«ããŠèãæ¹ãå€ããŠãNoã
- èããªãã§ãã ããïŒãç§ã¯ã€ã³ã¿ãŒãã§ã€ã¹ãã¶ã€ããŒã§ãããŸãã¯ãç§ã¯å
éšã³ãŒãéçºè
ã§ããã ãããããããªãã¯ãšã³ãžãã¢ã§ãããããç¹å®ã®åéã«ç¹åããŠããŸããããã®å°éåéãç 究ãä»ã®åéãåé¿ããããã«äœ¿çšããªãã§ãã ããã
- ãã¹ãã·ã£ãªã¹ãã«ä»»ããŸãããã圌ã¯ããæ©ãæåããããã§ããã çŸä»£ã®äžçã§ã¯ãæè»æ§ã䜿çšãããŠããŸããç§ãã¡ã¯å€æ©èœã®ãªãœãŒã¹ã§ããå¿
èŠããããç¥èãäžååãªé åãç 究ããå¿
èŠããããŸãã
- ãããã¯ããããŸãããããšèªåããã®ã¯ãããŸãããã ãã¡ããããããåçŽã§ããã°ã誰ãããã§ã«å°é家ã«ãªã£ãŠããã§ãããã èªæžãã³ã³ãµã«ãã£ã³ã°ãå匷ã«æéãè²»ãããŠãã ããã ããã¯ç°¡åã§ã¯ãããŸããããé
ããæ©ããå ±ãããã§ãããã
- ãæéããããŸãããããšèšãã®ããããŠãã ããã ãã®ç°è°ã¯ç解ã§ããŸãã ããã¯ããèµ·ãããŸãã ãããããã€ãŠIntelã®ååã次ã®ããã«èšã£ãïŒãäœãã«æ¬åœã«èå³ããããªãããã®æéãããã§ããããã ããšãã°ãåææ¥ã®çå€äžã«ãã®èšäºãæžããŠããŸãïŒ
誀ã£ãã¢ãããŒãNo. 2.ç¹å®ã®æè¡ã«å¯Ÿããéžå¥œ
ããŒãžã§ã³1.0以éã.NETã§éçºãç¶ããŠããŸãã Webãã©ãŒã ã®ãã¹ãŠã®æ©èœãšå€ãã®.NETã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªã詳现ã«ç¥ã£ãŠããŸãïŒäžéšãèªåã§å€æŽããŸããïŒã Model View ControllerïŒMVCïŒã®ãªãªãŒã¹ã«ã€ããŠç¥ã£ããšããç§ã¯ããã䜿ããããããŸããã§ããïŒãç§ãã¡ã¯ãããå¿
èŠãšããŸãããã
å®éã®ãšããããã®ãªã¹ãã¯ããªãé·ãç¶ããããšãã§ããŸãã ç§ã¯æåã¯æ°ã«å
¥ããªãã£ããã®ã®ãªã¹ããæå³ããä»ã§ã¯èªä¿¡ãæã£ãŠé »ç¹ã«äœ¿çšããŠããŸãã ããã¯ãéçºè
ãäžéšã®æè¡çãœãªã¥ãŒã·ã§ã³ãæ¯æããä»ã®ãœãªã¥ãŒã·ã§ã³ãé¿ããåŸåãããç¶æ³ã®äžäŸã«ãããŸãããããã«ãããçç£æ§ã®åäžãå°é£ã«ãªããŸãã
Entity Frameworkã®ãªããžã§ã¯ããžã®LINQãã€ã³ãã£ã³ã°ããŸãã¯ããŒã¿ã®ã¯ãšãªæã®SQLã¹ãã¢ãããã·ãŒãžã£ã«é¢ããè°è«ãããè³ã«ããŸãã 1ã€ãŸãã¯ä»ã®ãœãªã¥ãŒã·ã§ã³ã䜿çšããããšã«æ
£ããŠãããããã©ãã§ã䜿çšããããšããŠããŸãã
éçºè
ã®å¥œã¿ã«åœ±é¿ãäžãããã1ã€ã®èŠå ïŒäžéšã®æè¡ã®éžæãšä»ã®æè¡ã®æåŠïŒã¯ããªãŒãã³ãœãŒã¹ãœãããŠã§ã¢ã«å¯Ÿããå人çãªæ
床ã§ãã éçºè
ã¯å€ãã®å ŽåãçŸåšã®ç¶æ³ã«æé©ãªãœãªã¥ãŒã·ã§ã³ã§ã¯ãªããèªåã®äººçå²åŠãšããäžè²«ãããœãªã¥ãŒã·ã§ã³ãéžæããŸãã
æã
ãå€éšã®èŠå ïŒããšãã°ãå³ããç· ãåãïŒã«ãããæé©ã§ã¯ãªã決å®ãäžãããŸãã æé«ã®ãã¯ãããžãŒãéžæããã«ã¯æéãããããŸããçµè«ãèªãã§ãè©ŠããŠãæ¯èŒããæãå¿
èŠããããŸãã æ°ãã補åãŸãã¯æ¢åã®è£œåã®æ°ããããŒãžã§ã³ãéçºãããšãããã§ã«é
ããŠããããšããããããŸãããæéã¯æšæ¥ã§ããã ãã®ç¶æ³ã«å¯Ÿãã2ã€ã®æãããªè§£æ±ºçã¯ãäœåãªæéãèŠæ±ããããç¬åŠã®ããã«æ®æ¥ããããšã§ãã
thinkingå€åããæè
ééã£ãã¢ãããŒãïŒ2ãé¿ããããã«ãéçºè
ã¯ã©ã®ããã«èãæ¹ãå€ããå¿
èŠããããŸããã
- ããã®æ¹æ³ã¯åžžã«æ©èœãããããç§ãã¡ã¯åžžã«ãããè¡ã£ãããªã©ãšèšãã®ã¯ãããŠãã ãããä»ã®ãªãã·ã§ã³ãç¥ã£ãŠäœ¿çšããå¿
èŠããããŸãã
- ééã£ããœãªã¥ãŒã·ã§ã³ã䜿çšããããšããªãã§ãã ããïŒ éçºè
ã¯ãæã¿ã®çµæããããããªãããŸãã¯ã§ããªãç¹å®ã®ãã¯ãããžãŒãé ãªã«é©çšããããšããããšããããŸãã éçºè
ã¯å€ãã®æéãšåŽåãè²»ãããŸãããä»ã®ãªãã·ã§ã³ãèæ
®ããããšãªããäœããã®åœ¢ã§ãã®ãã¯ãããžãŒãå®æãããçµæã«åãããŠèª¿æŽããããšããŸãã ãã®ãããªæ©ç¥ããã®ããã»ã¹ã¯ããå°çã«ãã¯ããŠãåŒã£åŒµãããšããè©Šã¿ããšåŒã¶ããšãã§ããŸããåé¡ã«çŠç¹ãåãããŠããããšã¬ã¬ã³ãã§è¿
éãªå¥ã®è§£æ±ºçãèŠã€ããã®ã§ã¯ãªããæ¢åã®äžé©åãªè§£æ±ºçãé©å¿ãããããã«ããããåªåãæãããšãæãŸããŸãã
- ãæéããããŸãããã ãã¡ãããåžžã«æ°ããããšãåŠã¶ã®ã«ååãªæéã¯ãããŸããã ãã®ç°è°ã¯ç解ã§ããŸãã
誀ã£ãã¢ãããŒãNo. 3.ã¢ããªã±ãŒã·ã§ã³ã€ã³ãã©ã¹ãã©ã¯ãã£ã®äžååãªç解
ãã®ãããç§ãã¡ã¯å€ãã®åªåãæããæé«ã®ã¢ããªã±ãŒã·ã§ã³ãäœæããŸããã å±éã«ç§»ããŸãããã ãã¹ãŠãã¹ãæžã¿ã§ãã ãã¹ãŠããã·ã³ã§å®ç§ã«æ©èœããŸãã 10人ã®ãã¹ã¿ãŒå
šå¡ããã¢ããªã±ãŒã·ã§ã³èªäœãšãã®ããã©ãŒãã³ã¹ã«å®å
šã«æºè¶³ããŠããŸããã
ãããã£ãŠãä»ã§ã¯åé¡ãçºçããããšã¯ãããŸããããã¹ãŠãå®ç§ãªç¶æ
ã«ãªã£ãŠããŸããïŒ
決ããŠããã¹ãŠãå®å
šã«æ
éããŠãããããããŸããïŒ
次ã®è³ªåãèªåããããšããããŸããïŒ
- ã¢ããªã¯è² è·åæ£ç°å¢ã§ã®äœæ¥ã«é©ããŠããŸããïŒ
- ã¢ããªã±ãŒã·ã§ã³ã¯ã¯ã©ãŠãã§ãã¹ããããŸããããã®ã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ã¿ã³ã¹ã¯å€æ°ãããŸããïŒ
- ç§ã®ã¢ããªã±ãŒã·ã§ã³ã®å¯Ÿè±¡ãšãªããã·ã³äžã§å®è¡ãããä»ã®ã¢ããªã±ãŒã·ã§ã³ã¯ããã€ãããŸããïŒ
- ãã®ãµãŒããŒã§å®è¡ãããŠããä»ã®ããã°ã©ã ã¯äœã§ããïŒ SQL ServerïŒ ã¬ããŒãã£ã³ã°ãµãŒãã¹ïŒ SharePoint *æ¡åŒµæ©èœã¯ãããŸããïŒ
- ãšã³ããŠãŒã¶ãŒã¯ã©ãã«ããŸããïŒ åœŒãã¯äžçäžã«ååžããŠããŸããïŒ
- ä»åŸ5幎éã§ãã¢ããªã±ãŒã·ã§ã³ã«ã¯äœäººã®ãŠãŒã¶ãŒãããŸããïŒ
ãããã®åé¡ã®ãã¹ãŠãã€ã³ãã©ã¹ãã©ã¯ãã£ã«çŽæ¥é¢é£ããŠããããã§ã¯ãããŸãããããã¹ãŠã«æéããããŸãã ååãšããŠãã¢ããªã±ãŒã·ã§ã³ãåäœããæçµçãªå®éã®æ¡ä»¶ã¯ãäžé段éã®ãµãŒããŒã®æ¡ä»¶ãšã¯ç°ãªããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ã®ããããã€ãã®èŠå ãèŠãŠã¿ãŸãããã ãŠãŒã¶ãŒãäžçã®ããŸããŸãªåœã«ãããšããŸãã ãããããç±³åœã®ãŠãŒã¶ãŒããèŠæ
ããªããŠããã¢ããªã±ãŒã·ã§ã³ã¯éåžžã«è¿
éã«åäœããŸãããããã§ã¯ãã¬ãŒã·ã¢ã®ãŠãŒã¶ãŒãäœéã«äžæºãèšãã§ãããã
ãã®ãããªåé¡ã解決ããæ¹æ³ã¯ãããããããŸãã ããšãã°ãããŒã¿é
åžãããã¯ãŒã¯ïŒCDNïŒã䜿çšããŠãããã«éçãã¡ã€ã«ãé
眮ã§ããŸãã ãã®åŸãç°ãªãå Žæã«ãããŠãŒã¶ãŒã®ããŒãžã®èªã¿èŸŒã¿ãéããªããŸãã ç§ã話ããŠããããšã次ã®å³ã«ç€ºããŸãã

å¥ã®ç¶æ³ãèããããŸããã¢ããªã±ãŒã·ã§ã³ããSQL ServerãšWebãµãŒããŒãåæã«å®è¡ãããµãŒããŒã§å®è¡ããããšããŸãã ãã®å ŽåãCPUè² è·ãéäžãã2ã€ã®ãµãŒããŒã·ã¹ãã ãåãç©çãµãŒããŒäžã§å®è¡ãããŠããŸãã ãã®åé¡ã解決ããã«ã¯ïŒ ã€ã³ã¿ãŒãããã€ã³ãã©ã¡ãŒã·ã§ã³ãµãŒãã¹ïŒIISïŒãµãŒããŒäžã®.NETã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠè©±ããŠããå Žåã¯ãããã»ããµãããã³ã°ã䜿çšã§ããŸãã ããã»ããµãããã³ã°ã¯ã1ã€ã®ããã»ã¹ãã³ã³ãã¥ãŒã¿ãŒã®1ã€ä»¥äžã®ç¹å®ã®CPUã³ã¢ã«ãã€ã³ãããããšã§ãã
ããšãã°ã4ã€ã®ããã»ããµãæèŒããã³ã³ãã¥ãŒã¿ãŒã§SQL ServerãšIIS WebãµãŒããŒãå®è¡ãããšããŸãã
ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãSQL Serverã«äœ¿çšããCPUãšIISã«äœ¿çšããCPUã決å®ããããšããªãœãŒã¹ãç°ãªãæ¹æ³ã§å²ãåœãŠãããšãã§ããŸãã åããã»ããµãŒè² è·ã«2ã€ã®ããã»ããµãŒãå²ãåœãŠãããå¯èœæ§ããããŸãã
ãŸãã4ã€ã®ããã»ããµãã¹ãŠã1ã€ã®è² è·ã«ã®ã¿å²ãåœãŠãããå¯èœæ§ããããŸãã
ãã®å Žåããããããã¯ãçºçããå¯èœæ§ããããŸããIISã¯éåžžã«å€ãã®ã¯ãšãªãåŠçãã4ã€ã®ããã»ããµãã¹ãŠã䜿çšã§ããŸãããäžéšã®ã¯ãšãªã§ã¯SQLãžã®ã¢ã¯ã»ã¹ãå¿
èŠã«ãªãå ŽåããããŸãã å®éã«ã¯ããã®ãããªã·ããªãªã¯ãŸããããŸããããç§ã®ãã€ã³ããå®å
šã«ç€ºããŠããŸãã
å¥ã®èããããç¶æ³ïŒ1ã€ã®ããã»ã¹ãåãCPUã§åžžã«æ©èœããªãã å€ãã®å Žåãã³ã³ããã¹ãã®åãæ¿ããçºçããŸãã ã³ã³ããã¹ããé »ç¹ã«åãæ¿ãããšããµãŒããŒèªäœã®ããã©ãŒãã³ã¹ãäœäžãããã®ãµãŒããŒã§å®è¡ãããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãäœäžããŸãã
ãã®åé¡ã解決ãã1ã€ã®æ¹æ³ã¯ãIISãšSQLã«ãããã»ããµãããã³ã°ãã䜿çšããããšã§ãã ãã®å ŽåãSQL Serverã«å¿
èŠãªããã»ããµã®æ°ãšIISã«å¿
èŠãªããã»ããµã®æ°ã決å®ããŸãã ãããè¡ãã«ã¯ãIISã®CPUã«ããŽãªã®[ããã»ããµã³ã³ãã©ã€ã¢ã³ã¹]ã»ã¯ã·ã§ã³ã§èšå®ãæ§æããSQL ServerããŒã¿ããŒã¹ã®[ã³ã³ãã©ã€ã¢ã³ã¹ãã¹ã¯]ãæ§æããŸãã ãããã®ã±ãŒã¹ã®äž¡æ¹ã以äžã«ç€ºããŸãã
CPU |
---|
å¶éïŒããŒã»ã³ãïŒ | 0 |
å¶éã¢ã¯ã·ã§ã³ | ã¢ã¯ã·ã§ã³ãªã |
å¶éæéïŒåïŒ | 5 |
CPUãããã³ã°ãèš±å¯ãããŸãã | åœ |
CPUãããã³ã°ãã¹ã¯ | 4294967295 |
ããã»ããµã³ã³ãã©ã€ã¢ã³ã¹ãã¹ã¯ïŒ64ãããïŒ | 4294967295 |
ãã®ãããã¯ã¯ãWebãã¡ãŒã ã䜿çšããå Žåãªã©ãçç£æ§ã®åäžã«é¢é£ããä»ã®ã€ã³ãã©ã¹ãã©ã¯ãã£æ©èœã§ããã«ç¶ç¶ã§ããŸãã
thinkingå€åããæè
第3ã®èª€ã£ãã¢ãããŒããé¿ããããã«ãéçºè
ã¯ã©ã®ããã«èãæ¹ãå€ããå¿
èŠããããŸããïŒ
- ãããã¯ç§ã®ä»äºã§ã¯ãããŸãããã ç§ãã¡ã®ãšã³ãžãã¢ã¯ã顧客ã«æé«ã®ãœãªã¥ãŒã·ã§ã³ãæäŸããããã«ãèŠéãåºããåªåãããªããã°ãªããŸããã
- ãæéããããŸãããã ãã¡ãããç§ãã¡ã«ã¯ãã€ãæéããããŸããã ãããæãäžè¬çãªç¶æ³ã§ãã æéã®å²ãåœãŠã¯ãæåããçµéšè±å¯ãªåªããå°é家ãåºå¥ãããã®ã§ãã
exèšãèš³ãããªãã§ãã ããïŒ
éé£ããããšã¯äœããããŸããã ãã¹ãŠãããªãã«äŸåããããã§ã¯ãããŸããã æ¬åœã«äžåºŠèµ·ããã ãã¹ãŠã®å®¶æããã¹ãŠã®è¶£å³ã誰ãããªã©ãã¯ã¹ããå¿
èŠããããŸãã
ããããè¯ãä»äºã¯è¯ãã³ãŒããæžãããšã ãã§ã¯ãªãããšãç解ããããšãéèŠã§ãã ããæç¹ã§ã説æãã誀ã£ãã¢ãããŒãã®äžéšãŸãã¯ãã¹ãŠã䜿çšããŸããã
ããããåé¿ããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
- å¿
èŠã«å¿ããŠãæéããããŠãã ãã-äœè£ãæã£ãŠã ãããžã§ã¯ãã®äœæ¥ã«å¿
èŠãªæéãè©äŸ¡ããããã«æ±ããããããæéããããŠèª¿æ»ãšãã¹ããè¡ããçµè«ãäžãã決å®ãäžãããšãå¿ããªãã§ãã ããã
- ãã¹ãçšã®å人çšã¢ããªã±ãŒã·ã§ã³ãåæã«äœæããŠã¿ãŠãã ããã ãã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãéçºããã¢ããªã±ãŒã·ã§ã³ã§å®è£
ããåã«ïŒãŸãã¯å®è£
ãæåŠããåã«ïŒããŸããŸãªãœãªã¥ãŒã·ã§ã³ãè©Šãããšãã§ããŸãã æã
ééããç¯ããŸãã
- ãã§ã«é©åãªæè¡ãææããŠãã人ã
ãèŠã€ããŠãäžç·ã«ããã°ã©ãã³ã°ããŠã¿ãŠãã ããã ã¢ããªã±ãŒã·ã§ã³ããããã€ãããšãã«ã€ã³ãã©ã¹ãã©ã¯ãã£ãç解ããŠããå°é家ãšååããŠãã ããã ãã®æéã¯ååã«è²»ããããŸãã
- ã¹ã¿ãã¯ãªãŒããŒãããŒãé¿ããŠãã ããïŒ ç§ã®åé¡ã®ã»ãšãã©ã¯ãã§ã«è§£æ±ºãããŠããŸãã åçãåæããã«åçŽã«ã³ããŒãããšãäžå®å
šãªãœãªã¥ãŒã·ã§ã³ã«ãªããŸãã
- èªåèªèº«ãçãå°é家ãšèŠãªããªãã§ãã ãããèœåãå¶éããªãã§ãã ããã ãã¡ããããªãããã®åéã®å°é家ã«ãªãã°ãããã¯ãã°ãããããšã§ãããäŒè©±ããŸã å°é家ã§ã¯ãªãåéã«é¢ä¿ããŠããå Žåã§ããäŒè©±ãææ°ã«ä¿ã€ããšãã§ããã¯ãã§ãã
- ä»ã®äººãå©ããŸãïŒ ããã¯ããããåŠç¿ããæè¯ã®æ¹æ³ã®1ã€ã§ãã ä»ã®äººã圌ãã®åé¡ã解決ããã®ãæäŒãã°ãæçµçã«ããªãã¯ããªãèªèº«ã®æéãç¯çŽããã§ãããã
ãã¡ããã芧ãã ãã èè
ã«ã€ããŠAlexanderGarcÃaã¯ãã³ã¹ã¿ãªã«ã®Intel Corporationã®ã³ã³ãã¥ãŒã¿ãŒãšã³ãžãã¢ã§ãã 圌ã¯14幎ã®ããã®ãœãããŠã§ã¢éçºçµéšããããŸãã ã¢ã¬ã¯ãµã³ããŒã®é¢å¿åéã¯éåžžã«å€æ§ã§ã-ãœãããŠã§ã¢éçºã®å®è·µãšããã°ã©ã ã®ã»ãã¥ãªãã£ããçç£æ§ãããŒã¿ãã€ãã³ã°ãããã³é¢é£åéãŸã§ã çŸåšãã¢ã¬ã¯ãµã³ããŒã¯ã³ã³ãã¥ãŒã¿ãŒãµã€ãšã³ã¹ã®ä¿®å£«å·ãååŸããŠããŸãã
ã³ã³ãã€ã©ã®æé©åã®è©³çŽ°ã«ã€ããŠã¯ãæé©åã«é¢ãã泚æäºé
ãã芧ãã ããã