µÚÒ»Õ£ºÍ»·¢¹ÊÕÏÌØÕ÷¿ìËÙʶ±ð·¨
µ±ÍøÕ¾·ºÆðÒì³£ÏìӦʱ£¬90%µÄÔËάְԱ»áµÚһʱ¼ä¼ì²éЧÀÍÆ÷״̬¡£µ«ÕæÕýרҵµÄ¹¤³Ìʦ֪µÀ£¬ÏìÓ¦ÑÓ³Ù£¨Latency£©ÓëÍêȫ崻úÐèÒª²î±ðÓ¦¶ÔÕ½ÂÔ¡£Í¨¹ýF12¿ª·¢Õß¹¤¾ßµÄNetworkÃæ°å£¬¿ÉÒÔ¾«×¼ÅжϹÊÕÏÀàÐÍ£ºÈôTTFB(Ê××Ö½Úʱ¼ä)Ò»Á¬Áè¼Ý3Ã룬¿ÉÄÜÔâÓöÊý¾Ý¿â¹£Èû£»·µ»Ø502¹ýʧÔòÌáÐѺó¶ËЧÀÍÒì³£¡£
µÚ¶þÕ£ºÈýõ辶ʽЧÀÍÆ÷¸ºÔØÅŲé
CPUʹÓÃÂÊÖèÔöÖÁ95%ʱ£¬Á¬Ã¦Ö´ÐÐtopÖ¸ÁîÕÒ³öÒì³£Àú³Ì¡£Õë¶ÔÄÚ´æ×ß©ÎÊÌ⣬½¨Òé½ÓÄÉjstat¹¤¾ß¼à¿ØJVM¶Ñ״̬¡£´ÅÅÌI/OÒì³£¿Éͨ¹ýiostat -xÏÂÁî¼ì²âawaitÖµ£¬¸ÃÖ¸±êÁè¼Ý20ms¼´±£´æÇ±ÔÚΣº¦¡£µÚÈýõè¾¶ÖØµã¼ì²éÍøÂç´ø¿í£¬µ±eth0½Ó¿ÚRX/TXËÙÂÊ¿¿½üǧÕ×ÉÏÏÞʱ£¬Ðè˼Á¿°²ÅÅÁ÷Á¿ÕûÐμƻ®¡£
µÚÈýÕ£ºÊý¾Ý¿âÅþÁ¬³ØÓÅ»¯Êµ¼ù
MySQL·ºÆð"Too many connections"±¨´íʱ£¬´ó¶¼ÇéÐÎÔ´ÓÚÅþÁ¬³ØÉèÖò»µ±¡£½¨Ò齫max_connections²ÎÊý¶¯Ì¬µ÷½âΪ£¨¿ÉÓÃÄÚ´æ/ÿ¸öÅþÁ¬ËùÐèÄڴ棩0.8¡£¹ØÓڸ߲¢·¢³¡¾°£¬½ÓÄÉHikariCPÅþÁ¬³Ø²¢ÉèÖúÏÀíµÄmaxLifetime²ÎÊý£¨½¨Òé120000ms£©£¬Í¬Ê±¿ªÆôleakDetectionThreshold¼ì²â»úÖÆ£¬¿ÉÓÐÓÃÔ¤·ÀÅþÁ¬×ß©¡£
µÚËÄÕ£ºCDN¼ÓËÙÓ뻺´æÕ½ÂÔµ÷ÓÅ
¾²Ì¬×ÊÔ´¼ÓÔØ»ºÂýµÄÎÊÌ⣬¿Éͨ¹ýETagÑéÖ¤»úÖÆÓëCache-ControlÍ·µÄÅäºÏʹÓÃÀ´½â¾ö¡£ÉèÖÃmax-age=31536000ÅäºÏimmutableÊôÐÔ£¬¿Éʹä¯ÀÀÆ÷ÓÀÊÀ»º´æ°æ±¾»¯×ÊÔ´¡£¹ØÓÚ¶¯Ì¬ÄÚÈÝ£¬½¨ÒéÔÚ·´ÏòÊðÀí²ãÉèÖÃVarnish»º´æ£¬ÌØÊâ×¢ÖØÉèÖÃgraceģʽ´¦Öóͷ£ÓâÆÚ»º´æ£¬ÕâÄÜÔÚÔ´Õ¾¹ÊÕÏʱ¼ÌÐø¼á³ÖЧÀÍ¿ÉÓÃÐÔ¡£
µÚÎåÕ£ºÓ¦¼±Ô¤°¸ÓëÔÖ±¸»Ö¸´¼Æ»®
½¨ÉèÍêÉÆµÄfallback»úÖÆÊǰü¹ÜÓªÒµÒ»Á¬ÐÔµÄÒªº¦¡£µ±Ö÷ÒªÊý¾ÝÖÐÐÄå´»úʱ£¬»ùÓÚDNSµÄ¹ÊÕÏ×ªÒÆÓ¦ÄÜÔÚ5·ÖÖÓÄÚÍê³ÉÇл»¡£Êý¾Ý¿â²ãÃæ½¨Òé°²ÅÅMHA£¨Master High Availability£©¼Ü¹¹£¬ÅäºÏ°ëͬ²½¸´ÖÆÈ·±£Êý¾ÝÍêÕûÐÔ¡£Ò»Ñùƽ³£Ðè°´ÆÚ¾ÙÐлìã繤³Ì²âÊÔ£¬Ä£ÄâÍøÂç·ÖÇøµÈ¼«¶Ë³¡¾°ÏµÄϵͳÌåÏÖ¡£
ͨ¹ýÉÏÊöÁù´óά¶ÈµÄϵͳ»¯Õï¶Ï£¬ÉþÒÕÍøÕ¾ÖÎÀíÕ߿ɻñµÃ´Ó±íÏóÖ¢×´µ½»ù´¡Ôµ¹ÊÔÓɵÄÍêÕû½â¾ö¼Æ»®Á´¡£ÇмÇ"¼à¿ØÔ¤¾¯-¿ìËÙ¶¨Î»-·Ö¼¶´¦Öóͷ£"µÄ»Æ½ð¹æÔò£¬Á¬ÏµÎÄÖиø³öµÄÏêϸ²ÎÊýÉèÖý¨Ò飬ÄÜÓÐÓý«MTTR£¨Æ½¾ùÐÞ¸´Ê±¼ä£©Ëõ¶Ì60%ÒÔÉÏ¡£°´ÆÚ¾ÙÐÐÈ«Á´Â·Ñ¹²âÓë¼Ü¹¹ÆÀÉ󣬲ÅÊÇÈ·±£ÍøÕ¾Ò»Á¬Îȹ̵Ä×îÖÕ·¨±¦¡£ »î¶¯£º¡¾¿ìËٸ㶮àŰ¡¿ìµãËÀÎÒÍøÕ¾Ïêϸ½â´ðÚ¹ÊÍÓëÂäʵ·¢Ã÷ÉþÒÕ¡¿ ÔÚ×·ÖðÈÈÃÅÂþ»¸üÐÂʱ£¬¹ã¸æµ¯´°ÍùÍù»áÆÆËðÌÕ×íʽÔĶÁÌåÑé¡£BilibiliÂþ»×îÐÂÍÆ³öµÄµÚ49ÕÂÃâ·ÑÔĶÁЧÀÍ£¬ÒÀ¸½ÆäÁ¢ÒìµÄÎÞ¹ã¸æÊÖÒÕ£¬Îª¶ÁÕß´òÔì´¿¾»µÄ¶þ´ÎÔª¿Õ¼ä¡£±¾ÎĽ«Éî¶ÈÆÊÎöƽ̨µÄÌØÉ«¹¦Ð§£¬²¢½ÌÄúÔõÑù½âËøÕý°æ×ÊÔ´¸£Àû¡£
Ò»¡¢È«Õ¾¹ã¸æ×èµ²ÊÖÒÕµÄÍ»ÆÆÐÔÓ¦ÓÃ
BilibiliÂþ»×ÔÖ÷Ñз¢µÄDynamic Shield¶¯Ì¬ÆÁÕÏϵͳ£¬½ÓÄÉ»úеѧϰË㷨ʵʱ¹ýÂ˵¯´°¹ã¸æ¡£µ±Óû§·¿ªµÚ49ÕÂʱ£¬ÏµÍ³Í¨¹ýÈý½×ÑéÖ¤»úÖÆ£ºÄÚÈÝÌØÕ÷ʶ±ð¡¢ÐÐΪ¹ì¼£ÆÊÎö¡¢Ò³ÃæÔªËؼà²â£¬½«¹ã¸æ×èµ²ÂÊÌáÉýÖÁ99.7%¡£ÕâÏîÊÖÒÕÍ»ÆÆ²»µ«ÊµÏÖÁËÃâ·ÑÕ½ڵÄÎÞÕϰÔĶÁ£¬¸ü°ü¹ÜÁËÂþ»·Ö¾µ£¨Storyboard£©µÄÍêÕû·ºÆð¡£¶ÁÕßÔÚ×·Á¬ÔØÊ±£¬ÊÇ·ñ¾³£Òò¹ã¸æ×ÌÈÅ´í¹ýÒªº¦¾çÇ飿ÕâÀïµÄÖÇÄÜÅÅ°æ¼Æ»®¿É×Ô¶¯µ÷Àí»·ùÕ¼±È£¬È·±£Ã¿Ò»¸ñ»Ãæ¶¼ÍêÉÆÊÊÅäÒÆ¶¯×°±¸¡£
¶þ¡¢Ãâ·Ñ×ÊÔ´»ñÈ¡µÄ¶àÔª»¯Â·¾¶
»ñÈ¡µÚ49ÕÂÃâ·ÑÔĶÁȨÏÞµÄÈý´óÈë¿ÚÉè¼Æ³äÂúÇÉ˼¡£ÐÂÓû§×¢²á¼´Ïíµ±ÈÕ¸üÐÂÕ½ڵÄ30·ÖÖÓÌåÑéȨ£¬Í¨¹ýÖðÈÕÇ©µ½µÄ¡¸Ó¦Ô®Öµ¡¹»ýÀۿɶһ»ÓÀÊÀԢĿ×ʸñ¡£×ÊÉîÂþÃÔ¸ü¿É¼ÓÈ롸¾çÇéÒêÁÏ¡¹»¥¶¯£¬ÁÏÖÐÒªº¦¾çÇé½Úµã¼´¿ÉÌáǰ½âËøÈýÈÕºóµÄ¸üÐÂÕ½ڡ£ÏëÖªµÀÔõÑùºã¾Ãά³ÖÃâ·ÑÈ¨Òæ£¿Æ½Ì¨µÄ¡¸´´×÷ÕßÍýÏ롹ÔÊÐíÓû§Í¨¹ýͬÈË´´×÷¡¢µ¯Ä»ÆÊÎöµÈUGCÄÚÈݶһ»×¨ÊôµÄ¡¸´¿¾»ÔĶÁȯ¡¹¡£
Èý¡¢ÌÕ×íʽÔĶÁϵͳµÄÊÖÒռܹ¹
BilibiliÂþ»ÍƳöµÄCinemaVision¹ÛÓ°Ä£Ê½ÖØÐ½ç˵ÁËÊý×ÖÔĶÁ±ê×¼¡£¸ÃģʽÕë¶ÔµÚ49ÕµÄÌØÊâ·Ö¾µÉè¼Æ£¬ÌṩÖÇÄÜ·Ò³ËÙÂʵ÷Àí¡¢¶¯Ì¬ÌØÐ§äÖȾ¡¢ÇéÐÎÒôЧÊÊÅäµÈ¹¦Ð§¡£ÏµÍ³»áƾ֤Óû§µÄÑÛÇòÒÆ¶¯¹ì¼£×Ô¶¯ÓÅ»¯·Ö¾µÇл»½Ú×࣬ÔĶÁÀú³ÌÖÐÍêÈ«²»ÐèÒªÊÖ¶¯²Ù×÷¡£ÅäºÏSDR-HDR˫ģɫ²ÊÒýÇæ£¬Ô±¾¾²Ö¹µÄÂþ»¸ñ×ӻ᷺Æð³öÀàËÆ¶¯»µÄÐþÃ̬Ч¹û¡£ÕâÊÇ·ñÒâζ×ÅÖ½±¾Âþ»µÄÔĶÁÌåÑéÒѱ»³¹µ×ÓâÔ½£¿
ËÄ¡¢ÄÚÈÝÉú̬µÄºÏ¹æ»¯½¨Éè
ƽ̨½¨ÉèÍêÕûµÄ°æÈ¨ÈÏ֤ϵͳ°ü¹Üÿ²¿×÷Æ·µÄÕýµ±ÐÔ£¬ËùÓÐÂþ»µÚ49Õ¸üоù¾ÓÉË«ÖØDRM£¨Êý×Ö°æÈ¨ÖÎÀí£©¼ÓÃÜ¡£´´×÷Õß¿Éͨ¹ýÇø¿éÁ´´æÖ¤ÏµÍ³¶Ô·Ö¾µÔ¸å¾ÙÐÐʱ¼ä´ÁÈÏÖ¤£¬¶ÁÕßÔÚ̸ÂÛÇøÐû²¼µÄ¾çÇéÆÊÎöÒ²»áÌìÉúרÊô֪ʶ²úȨ֤Êé¡£ÕâÖÖ˫Ӯ»úÖÆÎªºÎÄÜÓÐÓñÜÃâµÁ°æÈö²¥£¿Òªº¦ÔÚÓÚÖÇÄÜˮӡϵͳ»áΪÿ¸öÕË»§ÌìÉúÆæÒìµÄÒþÐαêʶ·û£¬Èκβ»·¨Èö²¥ÐÐΪ¶¼Äܱ»¿ìËÙËÝÔ´¡£
Îå¡¢¿çƽ̨Êý¾Ýͬ²½µÄˢмƻ®
BilibiliÂþ»µÄCloud SyncÊÖÒÕʵÏÖ¶àÖÕ¶ËÎÞ·ìÏνӣ¬Óû§ÔÚÊÖ»ú¶ËÔĶÁµÚ49Õ½ø¶È»á×Ô¶¯Í¬²½ÖÁƽ°å/PC×°±¸¡£ÏµÍ³Å䱸ÖÇÄÜ»º´æÖÎÀí£¬ÔÚÀëÏßÇéÐÎÏÂÈԿɼá³Ö30ÌìµÄÕ½Úä¯ÀÀ¼Í¼¡£ÌØÊ⿪·¢µÄ¿çAPPÁª¶¯¹¦Ð§£¬ÔÊÐí½«Âþ»¾«²Ê·Ö¾µÖ±½Ó·ÖÏíÖÁ¶¯Ì¬¹ã³¡ÌìÉú»¥¶¯»°Ìâ¡£µ±¶ÁÕßÇл»×°±¸Ê±£¬ÊÇ·ñµ£ÐÄÔĶÁÉèÖÃÐèÒªÖØÐµ÷½â£¿»ùÓÚÓû§»ÏñµÄÖÇÄÜÔ¤Éèϵͳ»áÓ°ÏóÁÁ¶ÈÆ«ºÃ¡¢·Ò³·½·¨µÈ¸öÐÔ»¯²ÎÊý¡£
ͨ¹ýÉî¶ÈÆÊÎö¿ÉÒÔ·¢Ã÷£¬BilibiliÂþ»ÔÚÎÞµ¯´°¹ã¸æµÚ49ÕÂÃâ·ÑЧÀÍÖй¹½¨ÁËÍêÕûµÄÊÖÒÕÉú̬¡£´Ó¹ã¸æ×èµ²Ëã·¨µ½°æÈ¨±£»¤»úÖÆ£¬´ÓÖÇÄÜÔĶÁģʽµ½¿çƽ̨½»»¥ÏµÍ³£¬ÕâЩÁ¢Òì½â¾ö¼Æ»®ÕýÔÚÖØËÜÊý×ÖÂþ»µÄÐÐÒµ±ê×¼¡£×÷Ϊ¼æ¹ËÓû§ÌåÑéÓëÄÚÈݺϹæµÄ±ê¸Ëƽ̨£¬ÆäÉú³¤Â·¾¶ÎªÕû¸öÐÐÒµÌṩÁ˼«¾ß¼ÛÖµµÄ²Î¿¼·¶Ê½¡£