Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
.NET¼¼Êõ+25̨·þÎñÆ÷ÔõÑùÖ§³ÅÊÀ½çµÚ54´óÍøÕ¾
 
×÷Õß Tod Hoff »ðÁú¹ûÈí¼þ  ·¢²¼ÓÚ 2014-07-28
  2363  次浏览      27
 

ͬʱʹÓÃ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.¸ßЧ´úÂëµÄ¼ÛÖµÔ¶Ô¶³¬³öÄãÏëÏó£¬Ëü¿ÉÒÔÈÃÓ²¼þÅܵĸü¿ì£¬½µµÍ×ÊԴʹÓã¬ÇмÇÈôúÂë¸üÈÝÒ×±»³ÌÐòÔ±Àí½â¡£

   
2363 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
 
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
 
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ʹÓÃdecj¼ò»¯Webǰ¶Ë¿ª·¢
Web¿ª·¢¿ò¼ÜÐγÉÖ®ÂÃ
¸üÓÐЧÂʵÄʹÓÃVisual Studio
MVP+WCF+Èý²ã½á¹¹´î½¨¿ò¼Ü
ASP.NETÔËÐлúÖÆÇ³Îö¡¾Í¼½â¡¿
±àд¸üºÃµÄC#´úÂë
10¸öVisual Studio¿ª·¢µ÷ÊÔ¼¼ÇÉ

.NET¿ò¼ÜÓë·Ö²¼Ê½Ó¦Óüܹ¹Éè¼Æ
.NET & WPF & WCFÓ¦Óÿª·¢
UML&.Net¼Ü¹¹Éè¼Æ
COM×é¼þ¿ª·¢
.NetÓ¦Óÿª·¢
InstallShield

ÈÕÕÕ¸Û .NET Framework & WCFÓ¦Óÿª·¢
Éñ»ªÐÅÏ¢ .NETµ¥Ôª²âÊÔ
±±¾© .NetÓ¦ÓÃÈí¼þϵͳ¼Ü¹¹
̨´ïµç×Ó .NET³ÌÐòÉè¼ÆÓ뿪·¢
ÈüÃÅÌú¿Ë C#Óë.NET¼Ü¹¹Éè¼Æ
¹ã¶«ºËµç .NetÓ¦ÓÃϵͳ¼Ü¹¹