¶ÔÓÚÐèҪʵʱͨÐŵÄÍøÕ¾£¬Ê¹ÓÃRESTful HTTPÇëÇóÏìÓ¦·½·¨¿ÉÄÜÏԵü«²»¸ßЧ¡£ÎÒÃÇÌá³öÁËÒ»ÖÖз½·¨£¬²¢Í¨¹ýÒ»ÖÖÐèҪʵʱͨÐŵŦÄÜ¶ÔÆä½øÐÐÁËÑéÖ¤£¬ÕâÖÖ¹¦ÄÜÒѾÖÚËùÖÜÖª£¬²¢ÔںܶàÍøÕ¾ÖÐÓÐËùÔËÓãºËÑË÷¿ò×Ô¶¯²¹È«¡£
×÷Ϊ×æµÄËÑË÷ƽ̨£¬¸ù¾ÝInternet Live Stats¹ÀË㣬¹È¸èÿÃëÖÓ´óÔ¼Òª´¦Àí40,000´ÎÓû§ËÑË÷¡£¼ÙÉèÔÚÿ´ÎËÑË÷ÖÐ×Ô¶¯²¹È«¹¦ÄܲúÉú6¸öÇëÇó£¬ÎÒÃǵÄʵÑé±íÃ÷MigratoryDataÖ»Ðèһ̨1U·þÎñÆ÷¼´¿ÉÓ¦¶Ô¸Ã¸ºÔØ¡£
׼ȷÀ´Ëµ£¬ÎÒÃÇÖ¤Ã÷ÁËͨ¹ý1U·þÎñÆ÷ÔËÐеÄһ̨MigratoryData·þÎñÆ÷¿ÉÒÔ´¦Àí1°ÙÍò²¢·¢Óû§²úÉúµÄÿÃë240,000¸ö×Ô¶¯²¹È«ÇëÇ󣬲¢ÊµÏÖÆ½¾ù11.82ºÁÃëµÄÍù·µÑÓ³Ù¡£
µ±Ç°²ÉÓõķ½·¨¼°Æä¾ÖÏÞ
×Ô¶¯²¹È«¹¦ÄÜ¿ÉÒÔÔÚÓû§Í¨¹ýËÑË÷¿òÊäÈë²éѯµÄ¹ý³ÌÖÐÌṩËÑË÷½¨Ò顣ĿǰËùÓõķ½·¨Ö÷Òª»ùÓÚHTTPÇëÇó-ÏìӦģʽ£¬Óû§Ã¿ÊäÈëÒ»¸ö×Ö·û£¬¾ùÐèÒªÏòWeb·þÎñÆ÷·¢ËÍÒ»´ÎHTTPÇëÇ󣬲¢Í¨¹ýHTTPÏìÓ¦»ñµÃËÑË÷½¨Òé¡£ÕâÖÖ·½·¨ÓÐÁ½¸ö¾ÖÏÞ£º´ø¿íºÍÑÓ³Ù¡£
Ò»·½Ã棬ÓÉÓÚÿ¸ö×Ô¶¯²¹È«ÇëÇóÖ»°üº¬ÉÙÁ¿×Ö½Ú£¨ÀýÈçÓû§ÔÚËÑË÷¿òÖÐÊäÈëµÄ×Ö·û£©£¬µ«ä¯ÀÀÆ÷»á×Ô¶¯Ìí¼ÓÊý°Ù×Ö½ÚÄÚÈÝ×÷ΪHTTP±êÍ·¡£¶ÔÓÚÓû§ËÑË÷»î¶¯Æµ·±µÄÍøÕ¾£¬´óÁ¿¶îÍâµÄÊý¾ÝÒâζ×Å´ø¿íµÄ¾Þ´óÀË·Ñ£¬Í¬Ê±»¹ÐèÒªºÄ·Ñ¶îÍâµÄCPUÖÜÆÚÒÔ´¦ÀíÕâЩ²»±ØÒªµÄHTTP±êÍ·¡£
ÁíÒ»·½Ã棬¶ÔÓÚÿ¸öHTTPÇëÇ󣬶¼ÐèÒªÔÚÓû§ºÍWeb·þÎñÆ÷Ö®¼äн¨Ò»¸öTCPÁ¬½Ó£¬ÉõÖÁ¿ÉÄÜÐèÒª½øÐÐTLS/SSLÎÕÊÖ¡£Ëæ×ÅÓû§ÊäÈëÿ¸ö×Ö·û¶¼½øÐÐÕâÑùµÄ²Ù×÷»á¶ÔÑÓ³Ù²úÉú¼«¸ßÓ°Ï죨ÀýÈçÓû§ÊäÈëÒ»¸ö×Ö·ûµ½¿´µ½ËÑË÷½á¹ûÖ®¼äµÄµÈ´ýʱ¼ä£©¡£ÎªÁËÏû³ýÕâÖÖ¾ÖÏÞ¿ÉÒÔʹÓÃHTTP±£»î£¨Keep-Alive£©Á¬½Ó£¬½è´ËÔÚÒ»´Î³¬Ê±ÆÚ¼äͨ¹ýͬһ¸öTCPÁ¬½Ó·¢ËͶà¸öHTTPÇëÇó¡£È»¶ø¾¡¹ÜÈç´Ë£¬µ±³¬Ê±Öµµ½ÆÚºóÒÀÈ»ÐèҪн¨Á¬½Ó¡£
ÁíÒ»ÖÖз½·¨
ΪÁ˽â¾öÉÏÎÄÌáµ½µÄRESTful HTTP·½·¨ËùÃæÁٵľÖÏÞ£¬ºÜ¶àÈËÑ¡ÔñʹÓÃWebSocketÐÒé´úÌæHTTP¡£WebSocketÐÒéÔÚ¿ªÏú·½ÃæÖ»Ôö¼Ó¼¸×Ö½ÚÊý¾Ý£¬Òò´ËÏà±ÈHTTPÐÒéÊý°Ù×Ö½ÚµÄÊý¾ÝÔöÁ¿£¬¿É´ó·ù½µµÍ¿ªÏú¡£¸üÖØÒªµÄÊÇ£¬WebSocketÐÒé°´ÕÕÉè¼Æ¿ÉʹÓó־ÃÁ¬½Ó£¬ÎÞÐ趨ÆÚÖØÁ¬£¬¿ÉʵÏÖ¸üµÍÑÓ³ÙµÄͨÐÅ¡£
ĿǰÓкܶàWebSocketÐÒéµÄ·þÎñÆ÷ʵÏÖ£¬È»¶øÏà±ÈRESTful HTTP·½·¨£¬ÕâЩʵÏÖÔÚ´ø¿íÓÅ»¯·½Ãæ×öµÄ¶¼ÂÔÏÔ²»¹»£¬²¢·ÇËùÓÐWebSocket·þÎñÆ÷ʵÏÖÄÜÌṩͬµÈ³Ì¶ÈµÄµÍÑӳٺͿÉËõ·ÅÐÔ¡£
×¢Òâ ¨C Ïà±ÈWeb·þÎñÆ÷£¬WebSocketÐÒé±¾ÉíÎÞ·¨±£Ö¤·þÎñÆ÷ÄÜ»ñµÃ¸üºÃËõ·ÅÐÔ»ò¸üµÍÑÓ³Ù£¬¸ÃÐÒéÖ»ÄÜÌṩʵÏÖÕâÐ©ÌØÐÔµÄǰÌá¡£Ëõ·ÅÐÔºÍÑӳٵij̶ÈÈ¡¾öÓÚ¾ßÌåµÄWebSocket·þÎñÆ÷ʵÏÖ¡£
MigratoryData Server¾ÍÊÇÒ»ÖÖ´ËÀàWebSocket·þÎñÆ÷ʵÏÖ¡£¸Ã²úÆ·Êdzɹ¦½â¾öC10MÎÊÌ⣨µ¥Ò»·þÎñÆ÷ÉÏǧÍò²¢·¢Óû§£©µÄÊ׸ö·þÎñÆ÷ʵÏÖ¡£
MigratoryDataÌṩÁËÒ»Ì×ͨÓÃAPI£¬²¢Îª´ó²¿·ÖÖ÷Á÷±à³Ì»·¾³£¬°üÀ¨WebÓ¦ÓóÌÐòÌṩÁËËùÐèµÄ¿â¡£¸Ã²úÆ·¿É±©Â¶Ò»ÖÖ»ùÓÚÖ÷Ì⣨Subject£©µÄ·¢²¼/¶©ÔÄͨÐÅ·¶Ê½£¬¸ù¾ÝËù²ÉÓõķ¢²¼/¶©ÔÄģʽ£¬»¹¿É±©Â¶ÏÂÁÐÒì²½ÇëÇó/ÏìӦģÐÍ£º
Ò»¸öÉú³É·½¶©ÔÄÖÁÖ÷ÌâX
ÏûºÄ·½·¢ËͰüº¬Ö÷ÌâXµÄÇëÇóÏûÏ¢²¢¸½¼Ó»Ø¸´Ö÷ÌâY£¨Èç¹ûÉÐδ¶©ÔÄ£¬ÏûºÄ·½¿É×Ô¶¯¶©ÔÄÖ÷ÌâY£©
Éú³É·½ÊÕµ½¸ÃÏûÏ¢ºó£¬´ÓÇëÇóÏûÏ¢ÖÐÌáÈ¡³ö»Ø¸´µÄÖ÷ÌâY£¬²¢Ê¹Óðüº¬Ö÷ÌâYµÄÏûÏ¢×÷Ϊ»Ø¸´
ÏÂÎÄÎÒÃǽ«Õ¹Ê¾ÕâÖÖͨ¹ýWebSocketʵÏÖµÄÇëÇó/ÏìÓ¦½»»¥ÈçºÎ×÷Ϊ¿ÉËõ·ÅµÄ·½·¨È¡´úRESTful HTTP¡£
ÐÔÄÜÆÀ²â»·¾³ÅäÖÃ
ÎÒÃÇʹÓÃÁËËĄ̈ÍêÈ«ÏàͬµÄ¼ÆËã»ú£¬Ã¿Ì¨×°±¸2¿Å2.60GHzÖ÷ƵIntel Xeon E5-2670 CPU£¬ÒÔ¼°64GBÄڴ棺
¼ÆËã»úAÔËÐÐÒ»¸öMigratoryData Server 5.0.20ʵÀý
¼ÆËã»úBºÍ¼ÆËã»úCÔËÐÐÁ½¸öRequestor¹¤¾ßʵÀý£¬·Ö±ðÓÃÓÚ´ò¿ª500,000¸ö²¢·¢WebSocketÁ¬½Ó£¬×Ô¶¯²¹È«ÇëÇó½«Í¨¹ýÕâЩÁ¬½Ó·¢ËÍ
¼ÆËã»úDÔËÐÐ16¸öProvider¹¤¾ßʵÀý£¬ÓÃÓÚΪÿ¸ö×Ô¶¯²¹È«ÇëÇóÌṩËÑË÷½¨Òé
ËĄ̈¼ÆËã»ú¾ùÔËÐÐCentOS Linux 7.2£¬Ê¹ÓÃĬÈϵÄ3.10.0-327.28.3.el7.x86_64Äںˣ¬Î´½øÐÐÈκÎÄں˵÷ÓÅ¡£

ΪÁËÄ£ÄâÒ»°ÙÍòÓû§ÖеÄһλÓû§N·¢ËÍÒ»Ìõ×Ô¶¯²¹È«ÇëÇó£¬Requestor¹¤¾ß»áËæ»úÑ¡ÔñÊ®Áù¸öProviderËù¶©ÔĵÄijһÖ÷Ì⣬ÀýÈç/s/M¡£´ËÍâRequestor¹¤¾ß»á½«Óû§N¶©ÔÄÖÁÖ÷Ìâ/c/N£¨Èç¹ûÉÐδ¶©ÔÄ£©£¬²¢½«¾ß±¸ÏÂÁÐÊôÐÔµÄÇëÇóÏûÏ¢·¢²¼ÖÁMigratoryData
Server£º
Ö÷Ì⣺/c/N
Ö÷Ì⣺/s/M
ÔØºÉ£ºÒ»¸ö´ú±íËÑË÷²éѯµÄ32×Ö½ÚËæ»ú×Ö·û´®
¶©ÔÄÖÁÖ÷Ìâ/s/MµÄProvider M½«ÊÕµ½ÉÏÊöÏûÏ¢£¬Í¨¹ýÏòMigratoryData Server·¢²¼¾ß±¸ÏÂÁÐÊôÐԵĻظ´ÏûÏ¢¼´¿É×÷³ö»ØÓ¦£º
Ö÷Ì⣺/c/N
ÔØºÉ£ºÒ»¸ö´ú±íËÑË÷½¨ÒéµÄ256×Ö½ÚËæ»ú×Ö·û´®
ÓÉÓÚÓû§NÒѶ©ÔÄÖÁÖ÷Ìâ/c/N£¬±ã¿ÉÊÕµ½ÉÏÊö»Ø¸´ÐÅÏ¢¡£Íù·µÑÓ³Ù½«°´ÕÕÇëÇóÏûÏ¢µÄ´´½¨Íê³Éµ½Óû§×îÖÕÊÕµ½»Ø¸´ÐÅÏ¢Ö®¼äµÄʱ¼ä²îÀ´¼ÆËã¡£
×¢Òâ ¨C ÇëÇó-»Ø¸´Í¨ÐŵÄÍù·µÑÓ³Ù°üº¬ÇëÇóÏûÏ¢´ÓRequestor´«µÝÖÁMigratoryData Server£¬Ëæºó´«µÝÖÁProviderËùÐèµÄʱ¼ä£¬Íâ¼Ó»Ø¸´ÏûÏ¢´ÓProvider´«µÝÖÁMigratoryData
Server£¬²¢×îÖÕ´«µÝÖÁRequestorËùÐèµÄʱ¼ä¡£
×îºóÐèҪעÒ⣬ÔÚÉÏÊö»·¾³ÖУ¬Óжà¸ö´ú±íËÑË÷·þÎñµÄProviderʵÀý¶ÔÇëÇó½øÐоùºâ¡£¸Ã¼Ü¹¹Ê¹µÃËÑË÷·þÎñ£¨°üÀ¨ÆäËÑË÷»º´æ£©Äܹ»ºáÏòËõ·Å²¢Ä£ÄâRESTful
HTTP·½·¨£¬´ËÍ⻹¿Éͨ¹ý¶à¸öËÑË÷·þÎñ¶ÔÇëÇó½øÐоùºâ¡£
½á¹û×ܽá
ÿÃëÖÓ£¬Á½¸öRequestorʵÀýΪ´ÓÒ»°ÙÍò²¢·¢Óû§ÖÐËæ»úÑ¡Ôñ³öµÄ240,000¸öÓû§´¦Àí240,000¸ö×Ô¶¯²¹È«ÇëÇ󣬻ñµÃËÑË÷½¨ÒéËùÐèµÄƽ¾ùÍù·µÑÓ³ÙΪ11.8ºÁÃ룬ÆäÖеÚ95°Ù·Ö루95th
percentile£©ÑÓ³ÙΪ20ºÁÃ룬µÚ99°Ù·Ö루99th percentile£©ÑÓ³ÙΪ130ºÁÃ루ͨ¹ý³¬¹ý40ÒÚ¸öÇëÇóµÄ½á¹û¼ÆËã¶øÀ´£©¡£
 
½á¹û
MigratoryData Server¿Éͨ¹ýJMXºÍÆäËûÐÒé½øÐмàÊÓ¡£ÎÒÃÇʹÓÃjconsole¹¤¾ß£¨°üº¬ÔÚJava
Development KitÖУ©½øÐÐJMX¼àÊÓ¡£ÏÂÁÐÆÁÄ»½ØÍ¼½ØÈ¡×ÔJMX¼àÊÓ¹ý³Ì¡£
Á¬½ÓºÍÏûÏ¢
ÕýÈçÆÀ²â»·¾³½éÉÜÖÐËùÊö£¬ÎÒÃÇͨ¹ýÁ½¸öRequestorʵÀý´´½¨ÁË1,000,000¸öµ½MigratoryData·þÎñÆ÷µÄ²¢·¢WebSocketÁ¬½Ó£¬½è´ËÄ£ÄâÒ»°ÙÍòÓû§¡£ÒÔ°ÙÍòÓû§ÖеÄÿ¸ö¾ù¶©ÔÄÖÁ²»Í¬µÄÖ÷Ìâ£¬Ëæºóͨ¹ýÕâЩÖ÷Ìâ»ñµÃËÑË÷½¨Òé¡£´ËÍâÎÒÃÇʹÓÃ16¸öProviderʵÀý´ò¿ª16¸öµ½MigratoryData·þÎñÆ÷µÄÁ¬½Ó£¬½è´ËÄ£ÄâËÑË÷½¨Òé·þÎñ¡£Õâ16¸ö·þÎñÖеÄÿ¸ö¾ù¶©ÔÄÖÁ²»Í¬Ö÷Ì⣬½è´ËÏìÓ¦×Ô¶¯²¹È«ÇëÇó¡£ÈçÏÂͼËùʾ£¬JMXµÄConnectedSessionsÊôÐÔÒ²ÏÔʾ³ö¹²ÓÐ1,000,016¸ö²¢·¢Á¬½Ó¡£
ÔÚÆÀ²â»·¾³ÖУ¬Óû§Ã¿Ãë·¢³ö240,000ÌõÇëÇóÏûÏ¢¡£Òò´ËÿÃë´«ÈëMigratoryData·þÎñÆ÷µÄÏûÏ¢×ÜÊý°üº¬À´×ÔRequestorsµÄÿÃë240,000ÌõÇëÇóÏûÏ¢£¬Íâ¼ÓÀ´×ÔProvidersµÄÿÃë240,000Ìõ»Ø¸´ÏûÏ¢¡£
ÁíÍâÿÃë´«³öMigratoryData·þÎñÆ÷µÄÏûÏ¢×ÜÊýΪÿÃë·¢Ë͸øRequestorsµÄ240,000Ìõ»Ø¸´ÏûÏ¢£¬Íâ¼ÓÿÃë·¢Ë͸øProvidesµÄ240,000ÌõÇëÇóÏûÏ¢¡£
ÕâЩ×ÜÊý£¨Ã¿Ãë480,000Ìõ´«³öÏûÏ¢Íâ¼ÓÿÃë480,000Ìõ´«ÈëÏûÏ¢£©¶ÔÓ¦ÁËÏÂÁнØÍ¼ÖÐJMXµÄOutPublishedMessagesPerSecondºÍInPublishedMessagesPerSecondÊôÐÔ¡£
Òò´ËMigratoyData Server´¦Àí´«ÈëºÍ´«³öÏûÏ¢µÄ×ÜÍÌÍÂÁ¿Ô¼ÎªÃ¿Ãë1°ÙÍòÌõÏûÏ¢¡£

×îºóÐèҪעÒ⣬¸ÃÐÔÄÜÆÀ²âÊÇÔÚ´óÖÂ5СʱÄÚ½øÐÐÍê±ÏµÄ¡£°´ÕÕÿÃë240,000¸öÇëÇóµÄËÙ¶È£¬MigratoryData¹²´¦ÀíÁ˳¬¹ý40ÒÚ¸öÇëÇó£¡
CPUºÍÄÚ´æÀûÓÃÂÊ
´Ó½ØÍ¼ÖпÉÒÔ¿´µ½£¬ÆÀ²â¹ý³ÌÖÐCPUÓÃÁ¿Ê¼ÖÕµÍÓÚ70%¡£·ÖÅ䏸JVMµÄÄÚ´æ×î´óֵΪ30GB¡£×îºó£¬ÓÉÓÚÕû¸öÆÀ²âÊÇÔÚ´óÔ¼5СʱÄÚ½øÐеģ¬Òò´ËÄÚ´æºÍCPUÓÃÁ¿¾ù³ÊÏÖ³ö¹æÂÉÐԱ仯¡£

ÑÓ³Ù
ÈçÉÏÎÄÆÀ²â»·¾³½éÉÜÖÐËùÊö£¬Íù·µÑÓ³ÙÊÇÇëÇó´ÓRequestor´«µÝÖÁMigratoryData·þÎñÆ÷£¬ºó´«µÝÖÁProviderËùÓÃʱ¼ä£¬Íâ¼Ó»Ø¸´ÏûÏ¢´ÓProvider´«µÝÖÁMigratoryData·þÎñÆ÷£¬²¢×îÖÕ´«µÝÖÁRequestorËùÓÃʱ¼ä×ܺ͡£
´Ó¸ÃÆÀ²âÖÐÎÒÃǼÆËãÁËÿ¸öÇëÇó/»Ø¸´½»»¥µÄÍù·µÑÓ³Ù£¬¹²µÃ³ö³¬¹ý40ÒÚ¸öÑÓ³ÙÖµ¡£´ËÍâÎÒÃÇ»¹¼ÆËãÁËÑÓ³ÙµÄÆ½¾ùÖµ¡¢±ê׼ƫ²î£¬ÒÔ¼°×î´óÑÓ³ÙÖµ¡£ÕâЩÓйØÑÓ³ÙµÄͳ¼ÆÐÅÏ¢»áËæ×Åÿ´ÎвúÉúµÄÇëÇó/»Ø¸´½»»¥µÝÔö£¬½áºÏ³¬¹ý40ÒÚ¸öÑÓ³ÙÖµ»ã×ܼÆËã¶øÀ´¡£¼òµ¥×ܽáÑÓ³ÙÇé¿öÈçÏ£º
ƽ¾ùÑÓ³Ù£º11.82ºÁÃë
±ê׼ƫ²îÑÓ³Ù£º26.28ºÁÃë
×î´óÑÓ³Ù£º1783ºÁÃë
ÁíÍâÎÒÃÇ»¹Ê¹ÓÃHdrHistogram¿â¼ÆËãÁËÑӳٵİٷÖλÊý¡£ÔÚÏÂͼÖпÉÒÔ¿´µ½ÇëÇóÊý£¨°ÙÍò¼Æ£©ºÍÍù·µÑÓ³Ù£¨ºÁÃë¼Æ£©ÔÚ²»Í¬°Ù·Öλϵķֲ¼¡£

ÀýÈçÔÚÉÏͼÖпÉÒÔ¿´µ½£¬µÚ95°Ù·ÖλµÄÑÓ³ÙΪ20ºÁÃ룬µÚ99°Ù·ÖλÑÓ³ÙΪ130ºÁÃë¡£Òò´Ë¶ÔÓÚ¹²40ÒÚÇëÇóÖеÄ38ÒÚ¸öÇëÇó£¬Íù·µÑÓ³Ù¾ùµÍÓÚ20ºÁÃ룻¶ø¶ÔÓÚ¹²40ÒÚ¸öÇëÇóÖеÄ39.6ÒÚ¸öÇëÇó£¬Íù·µÑÓ³Ù¾ù²»³¬¹ý130ºÁÃë¡£
×¢Òâ ¨C ͨ¹ý½øÒ»²½ÓÅ»¯»¹¿É½µµÍµÚ99ÒÔ¼°¸ü¸ß°Ù·ÖλµÄÑÓ³Ù¡£ÕâЩֵͨ³£»áÊܵ½JVMÀ¬»ø»ØÊÕ»úÖÆµÄÓ°Ïì¡£ÔÚ֮ǰÕë¶ÔÁíÒ»¸ö³¡¾°½øÐеÄÐÔÄÜÆÀ²âÖÐÎÒÃÇ·¢ÏÖ£¬Ê¹ÓÃAzul
SystemsµÄZing JVM¶ÔÀ¬»ø»ØÊÕ½øÐÐÓÅ»¯ºó£¬¿ÉÒÔ½«µÚ99°Ù·ÖλµÄÑÓ³Ù´Ó585ºÁÃë½µµÍÖÁ25ºÁÃ룬×î´óÑÓ³ÙÖµÔò´Ó1700ºÁÃë½µµÍÖÁ126ºÁÃë¡£
½áÂÛ
±¾ÎÄÖУ¬ÎÒÃÇΪÓдóÁ¿Óû§¡¢¸ßƵÇëÇó£¬ÒÔ¼°/»òÐèÒªµÍÑÓ³ÙͨÐŵÄÍøÕ¾Ìá³öÁËÒ»ÖÖеÄͨÐżܹ¹£¬²¢Í¨¹ýËÑË÷¿ò×Ô¶¯²¹È«¹¦ÄÜÕâ¸öÓÃÀý½øÐÐÁË֤ʵ¡£
ÎÒÃÇ·¢ÏÖ¿ÉËõ·ÅµÄWebSocket·þÎñÆ÷ÌṩÁ˸üÒ×Óõıà³ÌÄ£ÐÍ£¬ÀýÈç·¢²¼-¶©ÔÄ£¬¿ÉÒԺܺõØÈ¡´úĿǰËù²ÉÓõÄRESTfull
HTTP¼Ü¹¹£¬ÔÚÑӳٺʹø¿íʹÓ÷½Ãæ¾ùÓиü³öÉ«µÄ±íÏÖ£¬Í¬Ê±ÔÚ±à³ÌµÄ¸´ÔÓ¶È·½ÃæÒ²»ù±¾³Öƽ¡£ |