ͬʱʹÓÃLinuxºÍWindowsƽ̨²úÆ·£¬´óÁ¿Ê¹Óþ²Ì¬µÄ·½·¨ºÍÀ࣬Stack OverflowÊǸöÖØ¶ÈÐÔÄܿء£Í¬Ê±£¬È¡´úºáÏòÀ©Õ¹£¬ËûÃǼá³Ö×Å×ÝÏòÀ©Õ¹Ë¼Â·£¬ÒòΪ¡°Ó²¼þÓÀÔ¶±È³ÌÐòÔ±±ãÒË¡±¡£
StackOverflowÊÇÒ»¸öIT¼¼ÊõÎÊ´ðÍøÕ¾£¬Óû§¿ÉÒÔÔÚÍøÕ¾ÉÏÌá½»ºÍ»Ø´ðÎÊÌâ¡£µ±ÏµÄStackOverflowÒÑÓµÓÐ400Íò¸öÓû§£¬4000Íò¸ö»Ø´ð£¬ÔÂPV5.6ÒÚ£¬ÊÀ½çÅÅÐеÚ54¡£È»¶øÖµµÃ¹Ø×¢µÄÊÇ£¬Ö§³ÅËûÃÇÍøÕ¾µÄÈ«²¿·þÎñÆ÷Ö»ÓÐ25̨£¬²¢ÇÒ¶¼±£³Ö×ŷdz£µÍµÄ×ÊԴʹÓÃÂÊ£¬ÕâÊÇÒ»³¡¸ßÓÐЧÐÔ¡¢¸ºÔؾùºâ¡¢»º´æ¡¢Êý¾Ý¿â¡¢ËÑË÷¼°¸ßЧ´úÂëÉϵĽÏÁ¿¡£½üÈÕ£¬High Scalability´´Ê¼ÈËTodd Hoff¸ù¾ÝMarco CecconiµÄÑݽ²ÊÓÆµ¡°?The architecture of StackOverflow¡±ÒÔ¼°Nick CraverµÄ²©ÎÄ¡°?What it takes to run Stack Overflow¡±×ܽáÁËStackOverflowµÄ³É¹¦ÔÒò¡£
ÒÔÏÂΪÒëÎÄ

ÒâÁÏÖ®ÖУ¬Ò²ÊÇÒâÁÏÖ®Í⣬Stack OverflowÈÔÈ»ÖØ¶ÈʹÓÃ×Å΢ÈíµÄ²úÆ·¡£ËûÃÇÈÏΪ¼ÈȻ΢ÈíµÄ»ù´¡ÉèÊ©¿ÉÒÔÂú×ãÐèÇó£¬ÓÖ×ã¹»±ãÒË£¬ÄÇôûÓÐʲôÀíÓÉÈ¥×ö¸ù±¾Éϵĸı䡣¶øÔÚÐèÒªµÄµØ·½£¬ËûÃÇͬÑùʹÓÃÁËLinux¡£¾¿Æä¸ù±¾£¬Ò»Çж¼ÊÇΪÁËÐÔÄÜ¡£
ÁíÒ»¸öÖµµÃ¹Ø×¢µÄµØ·½ÊÇ£¬Stack OverflowÈÔȻʹÓÃ×Å×ÝÏòÀ©Õ¹²ßÂÔ£¬Ã»ÓÐʹÓÃÔÆ¡£ËûÃÇʹÓÃÁË384GBµÄÄÚ´æºÍ2TBµÄSSDÀ´Ö§³ÅSQL Servers£¬Èç¹ûʹÓÃAWSµÄ»°£¬»¨·Ñ¿ÉÏë¶øÖª¡£Ã»ÓÐʹÓÃÔÆµÄÁíÒ»¸öÔÒòÊÇStack OverflowÈÏÎªÔÆ»áÒ»¶¨³Ì¶ÈÉϵĽµµÍÐÔÄÜ£¬Í¬Ê±Ò²»á¸øÓÅ»¯ºÍÅŲéϵͳÎÊÌâÔö¼ÓÄѶȡ£´ËÍ⣬ËûÃǵļܹ¹Ò²²¢²»ÐèÒªºáÏòÀ©Õ¹¡£·åÖµÆÚ¼äÊǺáÏòÀ©Õ¹µÄɱÊÖ¼¶Ó¦Óó¡¾°£¬È»¶øËûÃÇÓÐ×ŷḻµÄϵͳµ÷Õû¾ÑéÈ¥Ó¦¶Ô¡£¸Ã¹«Ë¾ÈÔÈ»¼á³Ö×ÅJeff AtwoodµÄÃûÑÔ¡ª¡ªÓ²¼þÓÀÔ¶±È³ÌÐòÔ±±ãÒË¡£
Marco CecconÔøÌáµ½£¬ÔÚ̸¼°ÏµÍ³Ê±£¬ÓÐÒ»¼þÊÂÇ鱨ÐëÊ×ÏÈŪÃ÷°×¡ª¡ªÐèÒª½â¾öÎÊÌâµÄÀàÐÍ¡£Ê×ÏÈ£¬´Ó¼òµ¥·½Ãæ×ÅÊÖ£¬StackExchange¾¿¾¹ÊÇÓÃÀ´×öʲôµÄ¡ª¡ªÊ×ÏÈÊÇһЩÖ÷Ì⣬ȻºóÎ§ÈÆÕâЩÖ÷Ì⽨Á¢ÉçÇø£¬×îºó¾ÍÐγÉÁËÕâ¸öÁîÈ˾´ÅåµÄÎÊ´ðÍøÕ¾¡£
Æä´ÎÔòÊǹæÄ£Ïà¹Ø¡£StackExchangeÔÚ·ÉËÙÔö³¤£¬ÐèÒª´¦Àí´óÁ¿µÄÊý¾Ý´«Ê䣬ÄÇôÕâЩ¶¼ÊÇÈçºÎÍê³ÉµÄ£¬ÌرðÊÇֻʹÓÃÁË25̨·þÎñÆ÷£¬ÏÂÃæÒ»Æð×·¸ù½Òµ×£º
״̬
- StackExchangeÓµÓÐ110¸öÕ¾µã£¬ÒÔÿ¸öÔÂ3µ½4¸öµÄËÙ¶ÈÔö³¤¡£
- 400ÍòÓû§
- 800ÍòÎÊÌâ
- 4000Íò´ð°¸
- ÊÀ½çÅÅÃû54λ
- ÿÄêÔö³¤100%
- ÔÂPV 5.6ÒÚÍò
- ´ó¶àÊý¹¤×÷ÈÕÆÚ¼ä·åֵΪ2600µ½3000ÇëÇóÿÃ룬×÷Ϊһ¸ö±à³ÌÏà¹ØÍøÕ¾£¬Ò»°ãÇé¿öϹ¤×÷ÈÕµÄÇëÇó¶¼»á¸ßÓÚÖÜÄ©
- 25̨·þÎñÆ÷
- SSDÖд¢´æÁË2TBµÄSQLÊý¾Ý
- ÿ¸öweb server¶¼ÅäÖÃÁË2¸ö320GµÄSSD£¬Ê¹ÓÃRAID 1
- ÿ¸öElasticSearchÖ÷»ú¶¼Å䱸ÁË300GBµÄ»úеӲÅÌ£¬Í¬Ê±Ò²Ê¹ÓÃÁËSSD
- Stack OverflowµÄ¶Áд±ÈÊÇ40:60
- DB ServerµÄƽ¾ùCPUÀûÓÃÂÊÊÇ10%
- 11¸öweb server£¬Ê¹ÓÃIIS
- 2¸ö¸ºÔؾùºâÆ÷£¬1¸ö»îÔ¾£¬Ê¹ÓÃHAProxy
- 4¸ö»îÔ¾µÄÊý¾Ý¿â½Úµã£¬Ê¹ÓÃMS SQL
- 3̨ʵÏÖÁËtag engineµÄÓ¦ÓóÌÐò·þÎñÆ÷£¬ËùÓÐËÑË÷¶¼Í¨¹ýtag
- 3̨·þÎñÆ÷ͨ¹ýElasticSearch×öËÑË÷
- 2̨ʹÓÃÁËRedisµÄ·þÎñÆ÷Ö§³Å·Ö²¼Ê½»º´æºÍÏûÏ¢
- 2̨Networks£¨Nexus 5596 + Fabric Extenders£©
- 2 Cisco 5525-X ASAs?
- 2 Cisco 3945 Routers
- Ö÷Òª·þÎñStack Exchange APIµÄ2¸öÖ»¶ÁSQL Servers
- VMÓÃÓÚ²¿Êð¡¢Óò¿ØÖÆÆ÷¡¢¼à¿Ø¡¢ÔËάÊý¾Ý¿âµÈ³¡ºÏ
ƽ̨
- ElasticSearch
- Redis
- HAProxy
- MS SQL
- Opserver
- TeamCity
- Jil¡ª¡ªFast .NET JSON Serializer£¬½¨Á¢ÔÚSigilÖ®ÉÏ
- Dapper¡ª¡ªÎ¢Ð͵ÄORM
UI
- UIÓµÓÐÒ»¸öÐÅÏ¢ÊÕ¼þÏ䣬ÓÃÓÚлÕÕ»ñµÃ¡¢Óû§·¢ËÍÐÅÏ¢¡¢ÖØ´óʼþ·¢ÉúʱµÄÐÅÏ¢ÊÕÈ¡£¬Ê¹ÓÃWebSocketsʵÏÖ£¬²¢Í¨¹ýRedisÖ§³Å¡£
- ËÑË÷Ïäͨ¹ý ElasticSearch ʵÏÖ£¬Ê¹ÓÃÁËÒ»¸öREST½Ó¿Ú¡£
- ÒòΪÓû§Ìá³öÎÊÌâµÄƵÂʺܸߣ¬Òò´ËºÜÄÑÏÔʾ×îÐÂÎÊÌ⣬ÿÃë¶¼»áÓÐеÄÎÊÌâ²úÉú£¬´Ó¶øÕâÀïÐèÒª¿ª·¢Ò»¸ö¹Ø×¢Óû§ÐÐΪģʽµÄËã·¨£¬Ö»¸øÓû§ÏÔʾ¸ÐÐËȤµÄÎÊÌâ¡£ËüʹÓÃÁË»ùÓÚTagµÄ¸´ÔÓ²éѯ£¬ÕâÒ²ÊÇ¿ª·¢¶ÀÁ¢Tag EngineµÄÔÒò¡£
- ·þÎñÆ÷¶ËÄ£°åÓÃÓÚÉú³ÉÒ³Ãæ¡£
·þÎñÆ÷
- 25̨·þÎñÆ÷²¢Ã»ÓÐÂúÔØ£¬CPUʹÓÃÂʲ¢²»¸ß£¬µ¥¼ÆËãSO£¨Stack Overflow£©Ö»ÐèÒª5̨·þÎñÆ÷¡£
- Êý¾Ý¿â·þÎñÆ÷×ÊÔ´ÀûÓÃÂÊÔÚ10%×óÓÒ£¬³ýÏÂÖ´Ðб¸·Ýʱ¡£
- Ϊʲô»áÕâôµÍ£¿ÒòΪÊý¾Ý¿â·þÎñÆ÷×ã×ãÓµÓÐ384GBÄڴ棬ͬʱweb serverµÄCPUÀûÓÃÂÊÒ²Ö»ÓÐ10%-15%¡£
- ×ÝÏòÀ©Õ¹»¹Ã»ÓÐÓöµ½Æ¿¾±¡£Í¨³£Çé¿öÏ£¬Èç´ËÁ÷Á¿Ê¹ÓúáÏòÀ©Õ¹´óÔ¼ÐèÒª100µ½300̨·þÎñÆ÷¡£
- ¼òµ¥µÄϵͳ¡£»ùÓÚ.Net£¬Ö»ÓÃÁË9¸öÏîÄ¿£¬ÆäËûϵͳ¿ÉÄÜÐèÒª100¸ö¡£Ö®ËùÒÔʹÓÃÕâôÉÙϵͳÊÇΪÁË×·Çó¼«Ï޵ıàÒëËÙ¶È£¬ÕâµãÐèÒª´Óϵͳ¿ªÊ¼Ê±¾Í½øÐй滮£¬Ã¿Ì¨·þÎñÆ÷µÄ±àÒëʱ¼ä´óÔ¼ÊÇ10Ãë¡£
- 11ÍòÐдúÂ룬¶Ô±ÈÁ÷Á¿À´Ëµ·Ç³£ÉÙ¡£
- ʹÓÃÕâÖÖ¼«¼òµÄ·½Ê½Ö÷Òª»ùÓÚ¼¸¸öÔÒò¡£Ê×ÏÈ£¬²»ÐèҪ̫¶à²âÊÔ£¬ÒòΪMeta.stackoverflow±¾À´¾ÍÊÇÒ»¸öÎÊÌâºÍbugÌÖÂÛÉçÇø¡£Æä´Î£¬Meta.stackoverflow»¹ÊÇÒ»¸öÈí¼þµÄ²âÊÔÍøÕ¾£¬Èç¹ûÓû§·¢ÏÖÎÊÌâµÄ»°£¬ÍùÍù»áÌá³ö²¢¸øÓè½â¾ö·½°¸¡£
- ŦԼÊý¾ÝÖÐÐÄʹÓõÄÊÇWindows 2012£¬ÒѾÏò2012 R2Éý¼¶£¨OregonÒѾÍê³ÉÁËÉý¼¶£©£¬LinuxϵͳʹÓõÄÊÇCentos 6.4¡£
SSD
- ĬÈÏʹÓõÄÊÇIntel 330£¨Web²ãµÈ£©
- Intel 520ÓÃÓÚÖмä²ãдÈ룬±ÈÈçElastic Search
- Êý¾Ý²ãʹÓÃIntel 710ºÍS3700
- ϵͳͬʱʹÓÃÁËRAID 1ºÍRAID 10£¨ÈκÎ4+ÒÔÉϵĴÅÅ̶¼Ê¹ÓÃRAID 10£©¡£²»Î·¾å¹ÊÕÏ·¢Éú£¬¼´Ê¹Éú²ú»·¾³ÖÐʹÓÃÁËÉÏǧ¿é2.5Ó¢´çSSD£¬»¹Ã»Åöµ½¹ýÒ»¿éʧ°ÜµÄÇé¾°¡£Ã¿¸öÄ£ÐͶ¼Ê¹ÓÃÁË1¸öÒÔÉϵı¸¼þ£¬¶à¸ö´ÅÅÌ·¢Éú¹ÊÕϵÄÇé¾°²»ÔÚ¿¼ÂÇÖ®ÖС£
- ElasticSearchÔÚSSDÉϱíÏÖµÄÒì³£³öÉ«£¬ÒòΪSO writes/re-indexesµÄ²Ù×÷·Ç³£Æµ·±¡£
- SSD¸Ä±äÁËËÑË÷µÄʹÓ÷½Ê½¡£ÒòÎªËøµÄÎÊÌ⣬Luncene.net²¢²»ÄÜÖ§³ÅSOµÄ²¢·¢¸ºÔØ£¬Òò´ËËûÃÇתÏòÁËElasticSearch¡£ÔÚÈ«SSD»·¾³Ï£¬²¢²»ÐèÒªÎ§ÈÆBinary Reader½¨Á¢Ëø¡£
¸ß¿ÉÓÃÐÔ
- ÒìµØ±¸·Ý¡ª¡ªÖ÷Êý¾ÝÖÐÐÄλÓÚŦԼ£¬±¸·ÝÊý¾ÝÖÐÐÄÔÚOregon¡£
- RedisÓÐÁ½¸ö´Ó½Úµã£¬SQLÓÐ2¸ö±¸·Ý£¬Tag EngineÓÐ3¸ö½Úµã£¬elasticÓÐ3¸ö½Úµã£¬ÈßÓàÒ»ÇУ¬²¢ÔÚÁ½¸öÊý¾ÝÖÐÐÄͬʱ´æÔÚ¡£
- NginxÊÇÓÃÓÚSSL£¬ÖÕÖ¹SSLʱת»»Ê¹ÓÃHAProxy¡£
- ²¢²»ÊÇÖ÷´ÓËùÓУ¬Ò»Ð©ÁÙʱµÄÊý¾ÝÖ»»á·Åµ½»º´æÖÐ
- ËùÓÐHTTPÁ÷Á¿·¢ËÍÖ»Õ¼×ÜÁ÷Á¿µÄ77%£¬»¹´æÔÚOregonÊý¾ÝÖÐÐĵı¸·Ý¼°Ò»Ð©ÆäËûµÄVPNÁ÷Á¿¡£ÕâЩÁ÷Á¿Ö÷ÒªÓÉSQLºÍRedis±¸·Ý²úÉú¡£
Êý¾Ý¿â
- MS SQL Server
- Stack ExchangeΪÿ¸öÍøÕ¾¶¼ÉèÖÃÁËÊý¾Ý¿â£¬Òò´ËStack OverflowÓÐÒ»¸ö¡¢Server FaultÓÐÒ»¸ö£¬ÒÔ´ËÀàÍÆ¡£
- ÔÚŦԼµÄÖ÷Êý¾ÝÖÐÐÄ£¬Ã¿¸ö¼¯ÈºÍ¨³£¶¼Ê¹ÓÃ1Ö÷ºÍ1Ö»¶Á±¸·ÝµÄÅäÖã¬Í¬Ê±»¹»áÔÚOregonÊý¾ÝÖÐÐÄÒ²ÉèÖÃÒ»¸ö±¸·Ý¡£Èç¹ûÊÇÔËÐеÄÊÇOregon¼¯Èº£¬ÄÇôÁ½¸öÔÚŦԼÊý¾ÝÖÐÐĵı¸·Ý¶¼»áÊÇÖ»¶ÁºÍͬ²½µÄ¡£
- ΪÆäËûÄÚÈÝ×¼±¸µÄÊý¾Ý¿â¡£ÕâÀﻹ´æÔÚÒ»¸ö¡°ÍøÂ緶Χ¡±µÄÊý¾Ý¿â£¬ÓÃÓÚ´¢´æµÇ½ƾ֤ºÍ¾ÛºÏÊý¾Ý£¨´ó²¿·ÖÊÇstackexchange.comÓû§Îļþ»òÕßAPI£©¡£
- Careers Stack Overflow¡¢stackexchange.comºÍArea 51µÈ¶¼ÓµÓÐ×Ô¼º¶ÀÁ¢µÄÊý¾Ý¿âģʽ¡£
- ģʽµÄ±ä»¯ÐèҪͬʱÌṩ¸øËùÓÐÕ¾µãµÄÊý¾Ý¿â£¬ËüÃÇÐèÒªÏòϼæÈÝ£¬¾Ù¸öÀý×Ó£¬Èç¹ûÐèÒªÖØÃüÃûÒ»¸öÁУ¬ÄÇô½«·Ç³£Âé·³£¬ÕâÀïÐèÒª½øÐжà¸ö²Ù×÷£ºÔö¼ÓÒ»¸öÐÂÁУ¬Ìí¼Ó×÷ÓÃÔÚÁ½¸öÁÐÉϵĴúÂ룬¸øÐÂÁÐдÊý¾Ý£¬¸Ä±ä´úÂëÈÃÐÂÁÐÓÐЧ£¬ÒƳý¾ÉÁС£
- ²¢²»ÐèÒª·ÖƬ£¬ËùÓÐÊÂÇéͨ¹ýË÷ÒýÀ´½â¾ö£¬¶øÇÒÊý¾ÝÌå»ýҲûÄÇô´ó¡£Èç¹ûÓÐfiltered indexesÐèÇó£¬ÄÇôΪʲô²»¸ü¸ßЧµÄ½øÐУ¿³£¼ûģʽֻÔÚDeletionDate = NullÉÏ×öË÷Òý£¬ÆäËûÔòͨ¹ýΪö¾ÙÖ¸¶¨ÀàÐÍ¡£Ã¿Ïîvotes¶¼ÉèÖÃÁË1¸ö±í£¬±ÈÈçÒ»ÕÅ±í¸øpost votes£¬1ÕÅ±í¸øcomment votes¡£´ó²¿·ÖµÄÒ³Ãæ¶¼¿ÉÒÔʵʱäÖȾ£¬Ö»ÎªÄäÃûÓû§»º´æ£¬Òò´Ë£¬²»´æÔÚ»º´æ¸üУ¬Ö»ÓÐÖØ²éѯ¡£
- ScoresÊǷǹ淶»¯µÄ£¬Òò´ËÐèÒª¾³£²éѯ¡£ËüÖ»°üº¬IDsºÍdates£¬post votes±í¸ñµ±Ï´óÔ¼ÓÐ56454478ÐУ¬Ê¹ÓÃË÷Òý£¬´ó²¿·ÖµÄ²éѯ¶¼¿ÉÒÔÔÚÊýºÁÃëÄÚÍê³É¡£
- Tag EngineÊÇÍêÈ«¶ÀÁ¢µÄ£¬Õâ¾ÍÒâζןËÐŦÄܲ¢²»ÒÀÀµÈκÎÍⲿӦÓóÌÐò¡£ËüÊÇÒ»¸ö¾Þ´óµÄÄÚ´æ½á¹¹Êý×é½á¹¹£¬×¨ÎªSOÓÃÀýÓÅ»¯£¬²¢ÎªÖظºÔØ×éºÏ½øÐÐÔ¤¼ÆËã¡£Tag EngineÊǸö¼òµ¥µÄwindows·þÎñ£¬ÈßÓàµÄÔËÐÐÔÚ¶à¸öÖ÷»úÉÏ¡£CPUʹÓÃÂÊ»ù±¾Éϱ£³ÖÔÚ2-5%£¬3¸öÖ÷»úרÃÅÓÃÓÚÈßÓ࣬²»¸ºÔðÈκθºÔØ¡£Èç¹ûËùÓÐÖ÷»úͬʱ·¢Éú¹ÊÕÏ£¬ÍøÂç·þÎñÆ÷½«°ÑTag Engine¼ÓÔØµ½ÄÚ´æÖгÖÐøÔËÐС£
- ¹ØÓÚDapperÎÞ±àÒëÆ÷УÑé²éѯÓ봫ͳORMµÄ¶Ô±È¡£Ê¹ÓñàÒëÆ÷ÓкܶàºÃ´¦£¬µ«ÔÚÔËÐÐʱÈÔÈ»»á´æÔÚfundamental disconnectÎÊÌ⡣ͬʱ¸üÖØÒªµÄÊÇ£¬ÓÉÓÚÉú³Énasty SQL£¬Í¨³£Çé¿ö»¹ÐèҪȥѰÕÒÔʼ´úÂ룬¶øQuery HintºÍparameterization¿ØÖƵÈÄÜÁ¦µÄȱ·¦¸üÈòéѯÓÅ»¯±äµÃ¸´ÔÓ¡£
±àÂë
- ´ó²¿·Ö³ÌÐòÔ±¶¼ÊÇÔ¶³Ì¹¤×÷£¬×Ô¼ºÑ¡Ôñ±àÂëµØµã
- ±àÒë·Ç³£¿ì
- È»ºóÔËÐÐÉÙÁ¿µÄ²âÊÔ
- Ò»µ©±àÒë³É¹¦£¬´úÂë¼´×ªÒÆÖÁ¿ª·¢½»¸¶×¼±¸·þÎñÆ÷
- ͨ¹ý¹¦ÄÜ¿ª¹ØÒþ²ØÐ¹¦ÄÜ
- ÔÚÏàͬӲ¼þÉÏ×÷ΪÆäËûÕ¾µã²âÊÔÔËÐÐ
- È»ºó×ªÒÆÖÁMeta.stackoverflow²âÊÔ£¬Ã¿ÌìÓÐÉÏǧ¸ö³ÌÐòÔ±ÔÚʹÓã¬Ò»¸öºÜºÃµÄ²âÊÔ»·¾³
- Èç¹ûͨ¹ýÔòÉÏÏߣ¬ÔÚ¸ü¹ã´óµÄÉçÇø½øÐвâÊÔ
- ´óÁ¿Ê¹Óþ²Ì¬ÀàºÍ·½·¨£¬ÎªÁ˸ü¼òµ¥¼°¸üºÃµÄÐÔÄÜ
- ±àÂë¹ý³Ì·Ç³£¼òµ¥£¬ÒòΪ¸´ÔӵIJ¿·Ö±»´ò°üµ½¿âÀÕâЩ¿â±»¿ªÔ´ºÍά»¤¡£.Net ÏîÄ¿ÊýÁ¿ºÜµÍ£¬ÒòΪʹÓÃÁËÉçÇø¹²ÏíµÄ²¿·Ö´úÂë¡£
- ¿ª·¢ÕßͬʱʹÓÃ2µ½3¸öÏÔʾÆ÷£¬¶à¸öÆÁÄ»¿ÉÒÔÏÔÖøÌá¸ßÉú²úЧÂÊ¡£
»º´æ
- »º´æÒ»ÇÐ
- 5¸öµÈ¼¶µÄ»º´æ
- 1¼¶ÊÇÍøÂç¼¶»º´æ£¬»º´æÔÚä¯ÀÀÆ÷¡¢CDNÒÔ¼°´úÀí·þÎñÆ÷ÖС£
- 2¼¶ÓÉ.Net¿ò¼Ü HttpRuntime.CacheÍê³É£¬ÔÚÿ̨·þÎñÆ÷µÄÄÚ´æÖС£
- 3¼¶Redis£¬·Ö²¼Ê½ÄÚ´æ¼üÖµ´æ´¢£¬ÔÚ¶à¸öÖ§³Åͬһ¸öÕ¾µãµÄ·þÎñÆ÷ÉϹ²Ïí»º´æÏî¡£
- 4¼¶SQL Server Cache£¬Õû¸öÊý¾Ý¿â£¬ËùÓÐÊý¾Ý¶¼±»·Åµ½ÄÚ´æÖС£
- 5¼¶SSD¡£Í¨³£Ö»ÔÚSQL ServerÔ¤ÈȺó²ÅÉúЧ¡£
- ¾Ù¸öÀý×Ó£¬Ã¿¸ö°ïÖúÒ³Ãæ¶¼½øÐÐÁË»º´æ£¬·ÃÎÊÒ»¸öÒ³ÃæµÄ´úÂë·Ç³£¼òµ¥£º
- ʹÓÃÁ˾²Ì¬µÄ·½·¨ºÍÀà¡£´ÓOOP½Ç¶ÈÀ´¿´È·ÊµºÜÔ㣬µ«ÊǷdz£¿ì²¢ÓÐÀûÓÚ¼ò½à±àÂë¡£
- »º´æÓÉRedisºÍDapperÖ§³Å£¬Ò»¸ö΢ÐÍORM
- ΪÁ˽â¾öÀ¬»øÊÕ¼¯ÎÊÌ⣬ģ°åÖÐ1¸öÀàֻʹÓÃ1¸ö¸±±¾£¬±»½¨Á¢ºÍ±£´æÔÚ»º´æÖС£¼à²âÒ»ÇУ¬°üÀ¨GC²Ù¡£¾Ýͳ¼ÆÏÔʾ£¬¼ä½Ó²ãÔö¼ÓGCѹÁ¦´ïµ½ÁËij¸ö³Ì¶Èʱ»áÏÔÖøµÄ½µµÍÐÔÄÜ¡£
- CDN Hit ¡£¼øÓÚ²éѯ×Ö·û´®»ùÓÚÎļþÄÚÈݽøÐйþÏ££¬Ö»ÔÚÓÐн¨Á¢Ê±²Å»á±»ÔÙ´ÎÈ¡³ö¡£Ã¿Ìì3000Íòµ½5000ÍòHit£¬´ø¿í´óԼΪ300GBµ½600GB¡£
- CDN²»ÊÇÓÃÀ´Ó¦¶ÔCPU»òI/O¸ºÔØ£¬¶øÊǰïÖúÓû§¸ü¿ìµÄ»ñµÃ´ð°¸
²¿Êð
- ÿÌì5´Î²¿Ê𣬲»È¥½¨Á¢¹ý´óµÄÓ¦Óá£Ö÷ÒªÒòΪ
- ¿ÉÒÔÖ±½ÓµÄ¼àÊÓÐÔÄÜ
- ¾¡¿ÉÄÜ×îС»¯½¨Á¢£¬¿ÉÒÔ¹¤×÷²ÅÊÇÖØµã
- ²úÆ·½¨Á¢ºóÔÙͨ¹ýÇ¿´óµÄ½Å±¾¿½±´µ½¸÷¸öÍøÒ³²ã£¬Ã¿¸ö·þÎñÆ÷µÄ²½ÖèÊÇ£º
- ͨ¹ýPOST֪ͨHAProxyϼÜij̨·þÎñÆ÷
- ÑÓ³ÙIIS½áÊøÏÖÓÐÇëÇ󣨴óÔ¼5Ã룩
- Í£Ö¹ÍøÕ¾£¨Í¨¹ýͬһ¸öPSSession½áÊøËùÓÐÏÂÓΣ©
- RobocopyÎļþ
- ¿ªÆôÍøÕ¾
- ͨ¹ýÁíÒ»¸öPOST×öHAProxy Re-enable
- ¼¸ºõËùÓв¿Êð¶¼ÊÇͨ¹ýpuppet»òDSC£¬Éý¼¶Í¨³£Ö»ÊÇ´ó·ù¶Èµ÷ÕûRAIDÕóÁв¢Í¨¹ýPXE boot°²×°£¬ÕâÑù×ö·Ç³£¿ìËÙ¡£
Ð×÷
- SRE £¨System Reliability Engineering£©£º5ÈË
- Core Dev£¨Q&A site£©6-7ÈË
- Core Dev Mobile£º6ÈË
- CareersÍŶÓרߺÔðSO Careers²úÆ·¿ª·¢£º7ÈË
- DevopsºÍ¿ª·¢Õß½áºÏµÄ·Ç³£½ôÃÜ
- ÍŶӼä±ä»¯ºÜ´ó
- ´ó²¿·ÖÔ±¹¤Ô¶³Ì¹¤×÷
- °ì¹«ÊÒÖ÷ÒªÓÃÓÚÏúÊÛ£¬DenverºÍLondon³ýÍâ
- Ò»ÇÐÆ½µÈ£¬Ð©ÐíÆ«ÏòŦԼ¹¤×÷Õߣ¬ÒòÎªÃæ¶ÔÃæÓÐÖúÓÚ¹¤×÷½»Á÷£¬µ«ÊÇÔÚÏß¹¤×÷Ó°ÏìÒ²²¢²»´ó
- ¶Ô±È¿ÉÒÔÔÚͬһ¸ö°ì¹«ÊҰ칫£¬ËûÃǸüÆ«ÏòÈȰ®²úÆ·¼°ÓвŻªµÄ¹¤³Ìʦ£¬ËûÃÇ¿ÉÒԺܺõĺâÁ¿Àû±×
- Ðí¶àÈËÒòΪ¼ÒÍ¥¶øÑ¡ÔñÔ¶³Ì¹¤×÷£¬Å¦Ô¼ÊDz»´í£¬µ«ÊÇÉú»î²¢²»¿íËÉ
- °ì¹«ÊÒÉèÁ¢ÔÚÂü¹þ¶Ù£¬ÄÇÊǸöÈ˲ŵĵ®ÉúµØ¡£Êý¾ÝÖÐÐIJ»ÄÜ̫ƫ£¬ÒòΪ¾³£»áÉæ¼°Éý¼¶
- ´òÔìÒ»¸öÇ¿´óÍŶӣ¬Æ«°®¼«¿Í¡£ÔçÆÚµÄ΢Èí¾Í¾Û¼¯ÁË´óÁ¿¼«¿Í£¬Òò´ËËûÃÇÕ÷·þÁËÕû¸öÊÀ½ç
- Stack OverflowÉçÇøÒ²ÊǸöÕÐÆ¸µÄµØµã£¬ËûÃÇÔÚÄÇѰÕÒÈȰ®±àÂë¡¢ÀÖÓÚÖúÈ˼°ÈȰ®½»Á÷µÄÈ˲š£
±àÖÆÔ¤Ëã
- Ô¤ËãÊÇÏîÄ¿µÄ»ù´¡¡£Ç®Ö»»¨ÔÚΪÐÂÏîÄ¿½¨Á¢»ù´¡ÉèÊ©ÉÏ£¬Èç´ËµÍÀûÓÃÂʵÄ?web server»¹ÊÇ3ÄêǰÊý¾ÝÖÐÐĽ¨Á¢Ê±¹ºÈë¡£
²âÊÔ
- ¿ìËÙµü´úºÍÒÅÆú
- Ðí¶à²âÊÔ¶¼ÊÇ·¢²¼¶ÓÎéÍê³ÉµÄ¡£¿ª·¢ÓµÓÐÒ»¸öͬÑùµÄSQL·þÎñÆ÷£¬²¢ÇÒÔËÐÐÔÚÏàͬµÄWeb²ã£¬Òò´ËÐÔÄܲâÊÔ²¢²»»áÔã¸â¡£
- ·Ç³£ÉٵIJâÊÔ¡£Stack Overflow²¢Ã»ÓнøÐÐÌ«¶àµÄµ¥Ôª²âÊÔ£¬ÒòΪËûÃÇʹÓÃÁË´óÁ¿µÄ¾²Ì¬´úÂ룬»¹ÓÐÒ»¸ö·Ç³£»îÔ¾µÄÉçÇø¡£
- »ù´¡ÉèÊ©¸Ä±ä¡£¼øÓÚËùÓж«Î÷¶¼ÓÐË«·Ý£¬ËùÒÔÿ¸ö¾ÉÅäÖö¼Óб¸·Ý£¬²¢Ê¹ÓÃÁËÒ»¸ö¿ìËÙ¹ÊÕϻָ´»úÖÆ¡£±ÈÈ磬keepalived¿ÉÒÔÔÚ¸ºÔؾùºâÆ÷ÖпìËÙ»ØÍË¡£
- ¶Ô±È¶¨ÆÚά»¤£¬ËûÃǸüÔ¸ÒâÒÀÀµÈßÓàϵͳ¡£SQL±¸·ÝÓÃÒ»¸öרÃŵķþÎñÆ÷½øÐвâÊÔ£¬Ö»ÎªÁË¿ÉÒÔÖØ´æ´¢¡£¼Æ»®×öÿÁ½¸öÔÂÒ»´ÎµÄÈ«Êý¾ÝÖÐÐĹÊÕϻָ´£¬»òÕßʹÓÃÍêȫֻ¶ÁµÄµÚ¶þÊý¾ÝÖÐÐÄ¡£
- ÿ´Îй¦ÄÜ·¢²¼¶¼×öµ¥Ôª²âÊÔ¡¢¼¯³É²âÊÔºÐUI²âÊÔ£¬Õâ¾ÍÒâζ×Å¿ÉÒÔÔ¤ÖªÊäÈëµÄ²úÆ·¹¦ÄܲâÊÔºó¾Í»áÍÆË͵½·õ»¯ÍøÕ¾£¬¼´meta.stackexchange£¨Ômeta.stackoverflow£©¡£
¼àÊÓ/ÈÕÖ¾
- µ±ÏÂÕýÔÚ¿¼ÂÇʹÓÃhttp://logstash.net/×öÈÕÖ¾¹ÜÀí£¬Ä¿Ç°Ê¹ÓÃÁËÒ»¸öרÃŵķþÎñ½«syslog UDP´«Êäµ½SQLÊý¾Ý¿âÖС£ÍøÒ³ÖÐΪ¼ÆÊ±Ìí¼Óheader£¬ÕâÑù¾Í¿ÉÒÔͨ¹ýHAProxyÀ´²¶»ñ²¢ÇÒÈںϵ½syslog´«ÊäÖС£
- OpserverºÍRealogÓÃÓÚÏÔʾ²âÁ¿½á¹û¡£RealogÊÇÒ»¸öÈÕ־չʾϵͳ£¬ÓÉKyle BrandtºÍMatt JibsonʹÓÃGo½¨Á¢¡£
- ÈÕ־ͨ¹ýHAProxy¸ºÔؾùºâÆ÷½èÖúsyslogÍê³É£¬¶ø²»ÊÇIIS£¬ÒòΪÆä¹¦ÄܱÈIIS¸ü·á¸»¡£
¹ØÓÚÔÆ
- »¹ÊÇÀÏÉú³£Ì¸£¬Ó²¼þÓÀÔ¶±È¿ª·¢ÕߺÍÓÐЧÂʵĴúÂë±ãÒË¡£»ùÓÚľͰЧӦ£¬Ëٶȿ϶¨ÊÜÏÞÓÚij¸ö¶Ì°å£¬ÏÖÓеÄÔÆ·þÎñ»ù±¾É϶¼´æÔÚÈÝÁ¿ºÍÐÔÄÜÏÞÖÆ¡£
- Èç¹û´Ó¿ªÊ¼¾ÍʹÓÃÔÆÀ´½¨ÉèSO˵²»¶¨Ò²»á´ïµ½ÏÖÔÚµÄË®×¼¡£µ«ºÁÎÞÒÉÎʵÄÊÇ£¬Èç¹û´ïµ½Í¬ÑùµÄÐÔÄÜ£¬Ê¹ÓÃÔÆµÄ³É±¾½«Ô¶Ô¶¸ßÓÚ×Ô½¨Êý¾ÝÖÐÐÄ¡£
ÐÔÄÜÖÁÉÏ
- StackOverflowÊǸöÖØ¶ÈµÄÐÔÄܿأ¬Ö÷Ò³¼ÓÔØµÄʱ¼äÓÀÔ¶¿ØÖÆÔÚ50ºÁÃëÄÚ£¬µ±ÏµÄÏìӦʱ¼äÊÇ28ºÁÃë¡£
- ³ÌÐòÔ±ÈÈÖÔÓÚ½µµÍÒ³Ãæ¼ÓÔØÊ±¼äÒÔ¼°Ìá¸ßÓû§ÌåÑé¡£
- ÿ¸ö¶ÀÁ¢µÄÍøÂçÌá½»¶¼ÓèÒÔ¼ÆÊ±ºÍ¼Ç¼£¬ÕâÖÖ¼ÆÁ¿¿ÉÒÔŪÇå³þÌáÉýÐÔÄÜÐèÒªÐ޸ĵĵط½¡£
- Èç´ËµÍ×ÊÔ´ÀûÓÃÂʵÄÖ÷ÒªÔÒò¾ÍÊǸßЧµÄ´úÂë¡£web serverµÄCPUƽ¾ùÀûÓÃÂÊÔÚ5%µ½15%Ö®¼ä£¬ÄÚ´æÊ¹ÓÃΪ15.5 GB£¬ÍøÂç´«ÊäÔÚ20 Mb/sµ½40 Mb/s¡£SQL·þÎñÆ÷µÄCPUʹÓÃÂÊÔÚ5%µ½10%Ö®¼ä£¬ÄÚ´æÊ¹ÓÃÊÇ365GB£¬ÍøÂç´«ÊäΪ100 Mb/sµ½200 Mb/s¡£Õâ¿ÉÒÔ´øÀ´3¸öºÃ´¦£º¸øÉý¼¶ÁôϺܴóµÄ¿Õ¼ä£»ÔÚÑÏÖØ´íÎó·¢Éúʱ¿ÉÒÔ±£³Ö·þÎñ¿ÉÓã»ÔÚÐèҪʱ¿ÉÒÔ¿ìËٻصµ¡£
ѧµ½µÄ֪ʶ
1.ΪʲôʹÓÃMS²úÆ·µÄͬʱ»¹Ê¹ÓÃRedis£¿Ê²Ã´ºÃÓÃÓÃʲô£¬²»Òª×öÎÞ±ØÒªµÄϵͳ֮Õù£¬±ÈÈçC#ÔÚWindows»úÆ÷ÉÏÔËÐÐ×îºÃ£¬ÎÒÃÇʹÓÃIIS£»RedisÔÚ*nix»úÆ÷ÉÏ¿ÉÒԵõ½³ä·Ö·¢»Ó£¬ÎÒÃÇʹÓÃ*nix¡£
2.Overkill¼´²ßÂÔ¡£Æ½³£µÄÀûÓÃÂʲ¢²»ÄÜ´ú±íʲô£¬µ±Ä³Ð©Ìض¨µÄÊÂÇé·¢Éúʱ£¬±ÈÈ籸·Ý¡¢Öؽ¨µÈÍêÈ«¿ÉÒÔ½«×ÊԴʹÓÃÀÂú¡£
3.¼á¹ÌµÄSSD¡£ËùÓÐÊý¾Ý¿â¶¼½¨Á¢ÔÚSSDÖ®ÉÏ£¬ÕâÑù¿ÉÒÔ»ñµÃ0ÑÓʱ¡£
4.Á˽âÄãµÄ¶Áд¸ºÔØ¡£
5.¸ßЧµÄ´úÂëÒâζןüÉÙµÄÖ÷»ú¡£Ö»ÓÐÐÂÏîÄ¿ÉÏÏßʱ²Å»áÒòÎªÌØÊâÐèÇóÔö¼ÓÓ²¼þ£¬Í¨³£Çé¿öÏÂÊÇÌí¼ÓÄڴ棬µ«ÔÚ´ËÖ®Í⣬¸ßЧµÄ´úÂë¾ÍÒâζ×Å0Ó²¼þÌí¼Ó¡£ËùÒÔ¾³£Ö»ÌÖÂÛÁ½¸öÎÊÌ⣺Ϊ´æ´¢Ôö¼ÓеÄSSD£»ÎªÐÂÏîÄ¿Ôö¼ÓÓ²¼þ¡£
6.²»Òªº¦Å¶¨ÖÆ»¯¡£SOÔÚTagÉÏʹÓø´ÔÓ²éѯ£¬Òò´ËרÃÅ¿ª·¢ÁËËùÐèµÄTag Engine¡£
7.Ö»×ö±ØÐë×öµÄÊÂÇé¡£Ö®ËùÒÔ²»ÐèÒª²âÊÔÊÇÒòΪÓÐÒ»¸ö»îÔ¾µÄÉçÇøÖ§³Å£¬±ÈÈ磬¿ª·¢Õß²»Óõ£ÐijöÏÖ¡°Square Wheel¡±Ð§Ó¦£¬Èç¹û¿ª·¢Õß¿ÉÒÔÖÆ×÷Ò»¸ö¸ü¸üÇáÁ¿¼¶µÄ×é¼þ£¬ÄǾÍÌæ´ú°É¡£
8.×¢ÖØÓ²¼þ֪ʶ£¬±ÈÈçIL¡£Ò»Ð©´úÂëʹÓÃIL¶ø²»ÊÇC#¡£¾Û½¹SQL²éѯ¼Æ»®¡£Ê¹ÓÃweb serverµÄÄÚ´æ×ª´¢¾¿¾¹×öÁËЩʲô¡£Ì½Ë÷£¬±ÈÈçΪʲôһ¸ösplit»á²úÉú2GBµÄÀ¬»ø¡£
9.ÇÐÎð¹ÙÁÅ×÷·ç¡£×ÜÓÐһЩÐµĹ¤¾ßÊÇÄãÐèÒªµÄ£¬±ÈÈ磬һ¸ö±à¼Æ÷£¬Ð°汾µÄVisual Studio£¬½µµÍÌáÉý¹ý³ÌÖеÄÒ»ÇÐ×èÁ¦¡£
10.À¬»ø»ØÊÕÇý¶¯±à³Ì¡£SOÔÚ¼õÉÙÀ¬»ø»ØÊճɱ¾ÉÏ×öÁ˺ܶàŬÁ¦£¬Ìø¹ýÀàËÆTDDµÄʵ¼ù£¬±ÜÃâ³éÏó²ã£¬Ê¹Óþ²Ì¬·½·¨¡£ËäÈ»¼«¶Ë£¬µ«ÊÇȷʵ´òÔì³ö·Ç³£¸ßЧµÄ´úÂë¡£
11.¸ßЧ´úÂëµÄ¼ÛÖµÔ¶Ô¶³¬³öÄãÏëÏó£¬Ëü¿ÉÒÔÈÃÓ²¼þÅܵĸü¿ì£¬½µµÍ×ÊԴʹÓã¬ÇмÇÈôúÂë¸üÈÝÒ×±»³ÌÐòÔ±Àí½â¡£
|