Õ¬Ã×ÊÇÒ»¼ÒרעУ԰µç×ÓÉÌÎñµÄ»¥ÁªÍøÆóÒµ£¬Ä¿Ç°Ö÷ӪУ԰³¬ÊÐO2O¡£¹«Ë¾³ÉÁ¢ÓÚ2014Äê11Ô£¬½ö½öÒ»Äê¶àµÄʱ¼ä£¬¹«Ë¾¼´¾¹ý4ÂÖÈÚ×Ê£¬¸²¸Ç½ü200×ù³ÇÊУ¬1000¶àËù´óÖÐרԺУ£¬10000¶à¶°ËÞÉáÂ¥£¬ÈÕ¾ù¶©µ¥20Íò£¬·åÖµ¶©µ¥50Íò¡£
ÏñËùÓиßËÙ·¢Õ¹µÄ³õ´´»¥ÁªÍøÆóÒµÒ»Ñù£¬Õ¬Ã׵ijɳ¤ÊÇÒ»²¿Ò°Âù³É³¤µÄÀúÊ·¡£¹«Ë¾³ÉÁ¢Ö®³õ£¬Ö»ÓÐÈý¸ö¹¤³Ìʦ£¬ÊÇ´´Ê¼ÈËCEOËï¸ß·åÔÚÉϺ£½»Í¨´óѧ¼ÆËã»úѧԺºÍÈí¼þѧԺ°¤¸öËÞÉáÇÃÃÅÇóöÀ´£¬Ëû·êÈ˱ãÎÊ£º¡ºÍ¬Ñ§£¬Òª²»Òª´´Òµ£¿¡»¡£¾ÍÕâÑù£¬Èý¸öÉÐδ±ÏÒµÐÝѧ´´ÒµµÄѧÉú¿ª·¢ÉÏÏßÁËÕ¬Ã׵ĵÚÒ»¸ö°æ±¾¡£
ÔçÆÚ£¬ÎªÁËѸËÙ¿ª·¢£¬¼¼ÊõÈËԱѡÔñÁËRuby×÷Ϊ¿ª·¢ÓïÑÔ¡£ÓÉÓÚÒµÎñ¿ìËÙÔö³¤£¬¼¼ÊõÈËԱȱ·¦¾Ñ飬ϵͳ¸¦Ò»ÉÏÏߣ¬¼´¾ÀúÁ˸÷ÖÖbug£¬¸÷ÖÖϵͳ±ÀÀ£¡£ÍùÍùÔÚÒµÎñ×æµÄʱºòϵͳ崻úÁË£¬¹«Ë¾ÉÏϽ¹Í·Àöî´ÒæӦ¶Ô£¬¹¤³ÌʦÿÌ칤×÷½ü20¸öСʱ£¬À§Á˾ÍÔÚ×À×ÓÉÏſһ»á£¬ÐÑÀ´½Ó×Åд´úÂ룬ÐÞbug¡£
µ«ÊǾÍÊÇÔÚÕâÑùµÄµøµø×²×²ÖУ¬¹«Ë¾ÒµÎñÈÔÈ»¿ìËÙÔö³¤£¬Ö»¼¸¸öÔµÄʱ¼ä¾Í³ÉΪ¸ÃÁìÓòÖÐ×îÖ÷ÒªµÄ¾ºÕùÕߣ¬¹«Ë¾Ë³Àû»ñµÃAÂÖÈÚ×Ê¡£ÓÐÇ®ÁË£¬¹«Ë¾±ãÆÚÍûÔÚ¼¼ÊõÑз¢·½ÃæÍ¶Èë¸ü¶à×ÊÔ´£¬ÕÐÆ¸¸ü¶àרҵ¼¼ÊõÈ˲ţ¬¿ª·¢³ö¸üÍêÉÆ¸üÎȶ¨µÄϵͳӽÓÏÂÒ»ÂÖ¸ü¿ìËٵķ¢Õ¹¡£µ«ÊÇÕÐÆ¸µÄʱºò²Å·¢ÏÖ£¬ÊÐÃæÉÏRuby¹¤³Ìʦ·Ç³£Ï¡È±£¬ÄÑÒÔÕÐ¼¼ÊõÍŶÓѸËÙ¾ö¶¨×ªÐÍ£¬Ê¹ÓÃJava×÷ΪÖ÷ÒªµÄºó¶Ë¿ª·¢ÓïÑÔ¡£ÓÚÊǼ¸¸ö¹¤³Ìʦһ±ß×Ô¼ºÑ§Java£¬Ò»±ßÕÐJava£¬²»µ½Á½¸öÔµÄʱ¼ä£¬×齨ÁËÒ»¸ö20¶àÈ˵ÄJava¼¼ÊõÍŶӣ¬Íê³É¶ÔÔÓм¸¸öºËÐÄϵͳµÄJavaÖØ¹¹¡£
¿ª·¢ÈËÔ±Ôö¼ÓÁË£¬¿ÉÒÔ¸ü¼Ó´ÓÈÝ¿ªÕ¹¿ª·¢¹¤×÷£¬Ó¦¶ÔÐÂÔöÒµÎñºÍÐèÇó±ä¸ü£¬Bug¼õÉÙÁË£¬ÏµÍ³Îȶ¨ÁË¡£µ«ÊÇÕâʱºòµÄϵͳ¼Ü¹¹ÒÀÈ»ÊÇÒ»¸ö·Ç³£¼òµ¥µÄWeb¼Ü¹¹£¬Èçͼ1¡£

ͼ1 ×ʼµÄϵͳ¼Ü¹¹
ÕâÑùµÄϵͳÄܲ»ÄÜÓ¦¶Ô½ñºó¿ìËÙµÄÒµÎñ·¢Õ¹£¿ÐÔÄÜÎÊÌâ»á²»»á³ÉΪ³ÖÐøÔö³¤µÄ½»Ò×Á¿µÄÆ¿¾±£¿ÏµÍ³Äܲ»ÄܳŵÃס·ÃÎʸ߷åÆÚµÄ´ó¹æÄ£²¢·¢·ÃÎÊ£¿
ÐÔÄÜÓÅ»¯³ÉΪÕâ¸öʱºò×îÖØÒªµÄ¹¤×÷£¬ÓÚÊǰ²ÅÅרÃŵŤ³Ìʦ½øÐÐÐÔÄܲâÊÔºÍÐÔÄÜÓÅ»¯£¬´Ó¼Ü¹¹¡¢´úÂë¡¢Êý¾Ý¿â¡¢ÔËά¸÷¸ö²ãÃæÊáÀíϵͳ״¿ö£¬·¢ÏÖϵͳƿ¾±£¬½øÐÐÕë¶ÔÐÔÓÅ»¯¡£
Ò»¡¢ ÐÔÄܲâÊÔ
У԰Áãʳ¹ºÎïµÄÌØµãÊÇÔÚÍíÉÏ10µã×óÓÒ½øÈë¸ß·å£¬ÔÚ´ËǰºóһСʱµÄ½»Ò×Á¿´ó¸ÅÕ¼ÕûÌì½»Ò×Á¿µÄÒ»°ë£¬Ò²¾ÍÊÇ˵£¬Èç¹ûÒªÉè¼ÆÒ»¸öÈÕ¶©µ¥100ÍòµÄϵͳ£¬ÆäʵҪ³ÐÊܵĽ»Ò×ѹÁ¦ÊÇÿСʱ50Íòµ¥¡£
µ±³õ°´ÕÕ¶þ°Ë·¨ÔòÍÆËã·åֵÿÃëµ¥Á¿Îª556±Ê¡º500000 * 0.8 /
(60 * 60 * 0.2)¡»£¬ÒÔ´ËΪ»ù×¼¸ù¾ÝNginxÈÕÖ¾·ÖÎöºó¶Ë½Ó¿Úµ÷ÓÃÆµÂÊ£¬ÍÆËã³ö½Ó¿Úµ÷ÓñÈÂÊǰ20µÄÇëÇó£¬ÒԴ˹¹Ôì²âÊÔ³¡¾°¡£
ÔÚÖ´ÐÐÐÔÄܲâÊÔʱ£¬ÎÒÃÇʹÓÃJmeter×÷ΪÐÔÄܲâÊÔ¹¤¾ß£¬ÀûÓÃÁËÔÆ·þÎñÌṩµÄϵͳ×ÊÔ´¼à¿Ø×÷Ϊ»ù´¡£¬Í¬Ê±×¥È¡Ó¦Ó÷þÎñÏ߳̿ìÕÕºÍMySQLÊý¾Ý¿âslow.log·ÖÎöϵͳƿ¾±¡£½Å±¾·Ö±ðÈçÏ£º
//ץȡӦÓ÷þÎñÏ߳̿ìÕÕ jstack `jps | grep -v grep | grep -v Jps|awk '{print $1}'` //MySQLÊý¾Ý¿âslow.log·ÖÎö mysqldumpslow mysql-slow.log |
¶þ¡¢¼Ü¹¹ÓÅ»¯
ÐÔÄܲâÊÔ½á¹û²¢²»ÀÖ¹Û£¬ÎÒÃǽáºÏ»¥ÁªÍøÁìÓò³£Óü¼Êõ¼Ü¹¹Ä£Ê½ÒÔ¼°×ÔÉíÐÔÄÜÆ¿¾±£¬½øÐÐÁ˼ܹ¹ÓÅ»¯Öع¹¡£ ËäȻϵͳ´ËǰʹÓÃÁË·Ö²¼Ê½»º´æ¶ÔÈȵãÊý¾Ý½øÐлº´æ£¬µ«ÊDZȽÏËæÒ⣬ÄÄЩÊý¾ÝÐèÒª»º´æ£¬Ê§Ð§²ßÂÔÈçºÎÉèÖö¼Ã»ÓÐÈÏÕæ·ÖÎöºÍÉè¼Æ¡£ÐÔÄܲâÊÔºó¾ö¶¨¹æ·¶»º´æÊ¹Ó㬾¡¿ÉÄܽ«¸÷ÖÖÆµ·±¶ÁÈ¡µÄÊý¾ÝÈ«²¿»º´æÆðÀ´£¬²¢½«Redis·þÎñÆ÷×ö¼¯ÈººÍÖ÷´Ó¸´ÖƲ¿Êð¡£
´ËÍ⻹ʹÓõÚÈý·½CDN·þÎñ½øÐо²Ì¬Îļþ·ÃÎʼÓËÙ£¬²úƷͼƬ¡¢JavaScriptÎļþ¡¢CSSÎļþµÈ¶¼Í¨¹ýCDN¼ÓËÙ£¬Í¬Ê±Í¨¹ýNginx·´Ïò´úÀí·þÎñÆ÷Ìṩ¾²Ì¬ÎļþµÄǰ¶Ë»º´æ¡£
ÐÔÄܲâÊÔ·¢ÏÖ£¬ÏµÍ³Ö÷Ҫƿ¾±µãÔÚÊý¾Ý¿âÉÏ£¬ËäȻʹÓÃRedis½«ÈȵãÊý¾Ý»º´æÆðÀ´£¬µ«ÊÇÊý¾Ý¿âÒÀÈ»ÔÚ²¢·¢Á¿´ïµ½Ò»¶¨³Ì¶Èºó±íÏÖ³öϵͳ¹ýÔØµÄÇé¿ö¡£ÓÚÊǶÔÊý¾Ý¿â½øÐÐÖ÷´Ó·ÖÀë¡£
ÓÅ»¯ºóµÄϵͳ¼Ü¹¹Èçͼ2¡£

ͼ2 ÓÅ»¯ºóµÄϵͳ¼Ü¹¹
Èý¡¢H5ÏìӦѹËõÓÅ»¯
ÐÔÄܲâÊÔ·¢ÏÖAppÓ¦ÓñÈÒÆ¶¯Web¶ËÏìÓ¦Ëٶȸü¿ì£¬·ÖÎö·¢ÏÖH5ÏìÓ¦ÄÚÈÝÒòΪ°üº¬ÁË´óÁ¿HTML£¬Êý¾Ý°ü´óСԶԶ´óÓÚAppÏìÓ¦°ü¡£Òò´Ë¾ö¶¨²ÉÓÃNginx×÷Ϊ·´Ïò´úÀíµÄͬʱ£¬¶ÔHTMLÄÚÈݽøÐÐѹËõ¡£
¿ªÆôNginx gzipѹËõµÄÖ¸ÁîÈçÏ£º
#config gzip; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_comp_level 2; gzip_types text/plain application/javascript application/x-javascript text/css
application/xml text/javascript image/jpeg image/gif image/png application/json; |
¹ØÓÚgzip_types£¬ÎÒÃÇÕë¶ÔJSONÊý¾ÝÒ²¿ªÆôgzipѹËõ£¬½µµÍAppÏìÓ¦Êý¾Ý°ü´óС£¬Ìá¸ßÏìÓ¦ÐÔÄÜ¡£
ͼ3ÊÇ¿ªÆôgzipǰºóµÄÐÔÄܲâÊÔ½á¹û¶Ô±È£º

ͼ3 H5Ò³Ãæ¿ªÆôѹËõǰºóÐÔÄܶԱÈ
ËÄ¡¢SQLÓï¾äÓëË÷ÒýÓÅ»¯
ÐÔÄܲâÊÔ¹ý³ÌÖз¢ÏÖ£¬ÓÉÓÚ´ËǰÖ÷Òª¾«Á¦¶¼ÔÚ¹Ø×¢ÈçºÎ¿ìËÙʵÏÖÒµÎñ£¬´óÁ¿Êý¾Ý¿â²éѯÓï¾äдµÃ±È½ÏËæÒ⣬Ë÷ÒýÉè¼Æ·Ç³£²»ºÏÀí¡£
½áºÏÐÔÄܲâÊÔÖÐMysqlÊý¾Ý¿âslow.log·ÖÎö£¬¶¨Î»Âý²éѯSQL×·¼Óindex£¬È»ºóÀûÓýâÊÍÖ´Ðмƻ®explainÓÅ»¯SQL¡£
Ôڴ˼òÒªÁоټ¸´¦Ê¾Àý¡£
£¨1£© ij×Ö¶ÎÀàÐÍΪvarcharÀàÐÍ£¬¸ù¾Ý²éѯ¹Ø¼ü×ֶβéѯʱ£¬Ð´ÈëֵΪIntÀàÐÍ£¬µ¼ÖÂÎÞ·¨ÃüÖÐË÷Òý¡£
ÓÅ»¯Ç°£º
select * from aa where aa.bb = 1449220364536130715; |

ÓÅ»¯ºó£º
select * from aa where aa.bb = '1449220364536130715'; |
£¨2£© ²éѯÌõ¼þ×ó±ßдÈ뺯Êý£¬µ¼ÖÂÎÞ·¨ÃüÖÐË÷Òý¡£
ÓÅ»¯Ç°£º
select * from cc where date_format(dd,'%Y-%m-%d')=(DATE_SUB(CURDATE(),INTERVAL 1 DAY)); |

ÓÅ»¯ºó£º
select * from cc where dd=(DATE_SUB(CURDATE(),INTERVAL 1 DAY)) |
£¨3£© ×·¼ÓIndexʱ£¬¼ÆËãÊý¾ÝΨһÐÔÇÉÃîÌí¼Ó×óǰ׺Ë÷Òý£¬Ìá¸ßË÷ÒýÃüÖÐÂÊ£¬±£Ö¤Ë÷Òý×Ö¶ÎΨһÐÔ¡£
ÀûÓÃÈçÏÂSQL¼ÆËãË÷ÒýÃüÖÐÂÊ£º
select count(distinct left(pinyin_initial,3))/count(*) as sel3, count(distinct left(pinyin_initial,4))/count(*) as sel4, count(distinct left(pinyin_initial,5))/count(*) as sel5, count(distinct left(pinyin_initial,6))/count(*) as sel6, count(distinct left(pinyin_initial,7))/count(*) as sel7 from city; |
ÒÔ´ËËã³ö³ÇÊÐÆ´ÒôËõд³¤¶ÈΪ3ʱ£¬ÃüÖÐÂʺÍΨһÐԱȽϸߣ¬ÔòдÏÂÈçÏÂSQL£º
ALTER TABLE `city` ADD INDEX `index_on_pinyinInitial` USING BTREE (pinyin_initial(3)); |
Îå¡¢Êý¾Ý¿âÁ¬½Ó³ØÓÅ»¯
Êý¾Ý¿âµÄ·ÃÎÊÓÅ»¯Ò²±È½ÏÖØÒª£¬Õ¬Ã׺ǫ́ϵͳ¿ª·¢Ê¹ÓÃÁËMybatis +
C3P0×éºÏ£¬ÔÚ×öÐÔÄܲâÊÔµÄʱºò·¢ÏÖÔÚijЩÇé¿öÏÂÓнÏΪÑÏÖØµÄÐÔÄÜÎÊÌâ¡£Ôڸ߲¢·¢Çé¿öÏ£¬³¤Ê±¼äÊ©¼ÓѹÁ¦£¬Ó¦ÓóÌÐò³öÏÖ²»ÄÜ·ÃÎʵÄ×´¿ö¡£
ÉÏÍø²éÕÒ×ÊÁÏ£¬·¢ÏֺܶàÈËÒ²Óöµ½ÁËC3P0µÄ¡±APPARENT DEADLOCK¡±ÎÊÌâ¡£
½«C3P0Çл»³É¹ú²úÊý¾Ý¿âÁ¬½Ó³ØDruidÖ®ºó£¬×´¿öÃ÷ÏÔºÃת£¬ÀàËÆÎÊÌâÔÙδ³öÏÖ¹ý¡£
Áù¡¢»º´æÊ¹ÓÃÓÅ»¯
¾¹ý¶ÔÊý¾Ý¿âºÍ»º´æÓ¦ÓõÄһϵÁÐÓÅ»¯ºó£¬»º´æµÄÃüÖÐÂʱ£³ÖÔÚ90%ÒÔÉÏ£¬½øÒ»²½Ñо¿ºó·¢ÏÖ£¬RedisʹÓÃÒÀÈ»ÓÐÌáÉýµÄ¿Õ¼ä¡£
Ó¦ÓóÌÐò·ÃÎÊRedisµÄʱºò£¬¿ÉÒÔͨ¹ýʹÓÃJedisµÄpipeline¼õÉÙredisͨÐÅ´ÎÊý£¬ÓÐЧÌáÉýÐÔÄÜ¡£JedisÊÇ»ùÓÚsocketͨÐÅʵÏֵģ¬Ã¿´ÎÓëRedisͨÐŶ¼»áÏûºÄÏ൱µÄÍøÂçÁ¬½Óʱ¼ä£¬pipelineÔòÊÇÒÔ´ò°üÅúÁ¿µÄÐÎʽִÐÐÃüÁͼ4ÊÇÖ´ÐÐ5000´Îset²Ù×÷µÄÏìӦʱ¼ä¶Ô±È£º

ͼ4 Jedis pipelineÐÔÄܲâÊÔ½á¹û
Æß¡¢¶©µ¥Êý¾ÝÀäÈÈ·ÖÀë
Ëæ×ÅÒµÎñµÄ³ÖÐø·¢Õ¹£¬¶©µ¥±íµÄÊý¾Ý»áÔ½À´Ô½¶à¡£°´ÎÒÃÇÏÖÔÚÈÕ¶©µ¥Á¿20Íòµ¥Ô¤¹À£¬Ô¶©µ¥Á¿ÔòΪ600Íòµ¥£¬Äê¶©µ¥Á¿Ôò´ïµ½7200Íòµ¥£¬¶øÇÒÈÕ¶©µ¥Á¿»¹ÔÚ²»¶ÏµÄÔö¼Ó£¬Óò»Á˶à¾Ã£¬Êý¾ÝÁ¿¾Í»á³¬¹ýMySQLµÄ¼«ÏÞ¡£
Ò»¿ªÊ¼ÎÒÃÇ¿¼ÂÇʹÓ÷ֲ¼Ê½Êý¾Ý¿âµÄ·½°¸£¬¶Ô¶©µ¥±í½øÐÐˮƽÇз֣¬Ê¹Óö©µ¥ºÅ½øÐÐhash£¬½«¶©µ¥Êý¾ÝÇзֵ½¶àÕűíÉÏ¡£
½øÒ»²½·ÖÎöºó·¢ÏÖ£¬¶©µ¥Êý¾Ý¾ßÓÐÃ÷ÏÔµÄÀäÈȲ»¾ùµÄÌØµã£¬¼´¸Õ¸Õ´´½¨µÄ¶©µ¥ÊÇÈÈÊý¾Ý£¬²»Í¬Ó¦ÓÃÒÔ¸÷ÖÖ·½Ê½·ÃÎÊÐÞ¸ÄÕâЩ¶©µ¥¡£¾¹ýÒ»¶Îʱ¼äÒÔºó£¬ÌرðÊǶ©µ¥Íê³Éºó£¬¶©µ¥·ÃÎÊÆµÂʼ±¾ç½µµÍ£¬¶øÇÒÖ»Óж©µ¥²éѯÕâÒ»ÖÖ²Ù×÷¡£ÓÚÊÇÎÒÃÇ¿¼ÂDzÉÈ¡ÀäÈÈÊý¾Ý·ÖÀëµÄ²ßÂÔ£¬ÒÔ¿ØÖÆÈÈ¿âÖÐÊý¾Ý×ÜÁ¿£¬±£Õ϶©µ¥±íÊý¾ÝÁ¿Ê¼ÖÕά³ÖÔÚÒ»¸ö¿ÉÒÔ½ÓÊܵķ¶Î§ÄÚ£¬½ø¶øÌṩÎȶ¨µÄÊý¾Ý·ÃÎÊÐÔÄÜ¡£¶©µ¥Êý¾ÝÀäÈÈ·ÖÀë·½°¸Èçͼ5¡£

ͼ5¶©µ¥Êý¾ÝÀäÈÈ·ÖÀë
°Ë¡¢ÏµÍ³ÐÔÄÜ¼à¿Ø
ÐÔÄܲâÊÔºÍÐÔÄÜÓÅ»¯ËäÈ»¶Ôϵͳ×öÁ˳ä·ÖµÄ¸Ä½ø£¬µ«ÊÇʵ¼ÊÏßÉÏÐÔÄܱíÏÖ¾¿¾¹ÈçºÎ£¬³öÏÖ½ô¼±ÐÔÄÜÎÊÌâʱÈçºÎ¿ìËÙÓ¦¶Ô£¬»¹±ØÐëÒª¶ÔÉú²ú»·¾³½øÐÐÐÔÄÜ¼à¿Ø¡£Ôڴ˼òÒªÁоÙһЩլÃ×µÄÐÔÄÜ¼à¿Ø±¨¾¯Òªµã£º

³ýÁËϵͳ×ÔÉí¼à¿Ø£¬ºÜ¶àϵͳ¹ÊÕϺÍÐÔÄÜÎÊÌâ»áÖ±½Ó·´Ó¦µ½ÒµÎñÉÏ¡£Èç¹ûϵͳÏìÓ¦»ºÂýÉõÖÁå´»ú£¬ÄÇôʵʱ¶©µ¥Á¿Ò²»áÊܵ½Ó°Ï죬Òò´Ë¼à¿ØÊµÊ±½»Ò×Ò²¿ÉÒÔ·¢ÏÖϵͳÎÊÌ⡣ͼ6ÊÇʵʱ½»Ò×¼à¿ØÍ¼£¬ÔÚÕâÀïÀý×ÓÖУ¬21:33¶©µ¥Á¿Í»È»½µµ½Á㣬ËäȻϵͳ¼à¿ØÖ¸±êÕý³££¬µ«ÊÇ¿ÉÒԶ϶¨ÏµÍ³±Ø¶¨³öÁËÎÊÌ⣬ÂíÉÏ´ò¿ªÓ¦ÓÃÈÕÖ¾²é¿´£¬·¢ÏÖÓиöBugµ¼ÖÂij¸öÍⲿ×ÊÔ´ËÀËø£¬Á¢¿ÌÊÖ¹¤ÊͷŸÃ×ÊÔ´£¬ÏµÍ³»Ö¸´Õý³£¡£

ͼ6ʵʱ¶©µ¥¼à¿Ø
¾Å¡¢×ܽá
ÐÔÄÜÎÊÌâÊÇʵ´òʵµÄÎÊÌ⣬½â¾ö°ì·¨Ò²Ó¦¸ÃÕë¶Ô¾ßÌåÎÊÌâ¸÷¸ö»÷ÆÆ¡£Í¨¹ýÐÔÄܲâÊÔÁ˽âϵͳÏÖ×´£¬Í¨¹ýÆ¿¾±·ÖÎö·¢ÏÖ¾ßÌåÎÊÌ⣬Õë¶Ô¾ßÌåÎÊÌâѰÕÒ½â¾ö·½°¸£¬ÊµÏÖ½â¾ö·½°¸ÔÙ½øÐÐÐÔÄܲâÊÔ£¬Õû¸öÐÔÄÜÓÅ»¯Ðγɱջ·£¬ÏµÍ³µÃÒÔ³ÖÐøÓÅ»¯¡£
¾¹ýһϵÁи÷ÖÖÐÔÄÜÓÅ»¯£¬ËäȻլÃ×Ö÷ҪϵͳÐÔÄÜÏÖ½×¶ÎÄܹ»Âú×ãÐèÇ󣬵«ÊǼ¼ÊõÓÀÔ¶Òª×ßµ½ÒµÎñµÄÇ°Ãæ£¬²ÅÄÜÔÚÒµÎñÔö³¤ÒÔºó´ÓÈÝÓ¦¶Ô¡£¶ø³õ´´»¥ÁªÍø¹«Ë¾µÄÒ°Âù³É³¤ËÙ¶È£¬ÓÀÔ¶Ò²²»Òª²Â²â£¬¼¼Êõ±ØÐëÒª×öºÃ³ä·Ö×¼±¸£¬²ÅÄܲ»ÍÏÒµÎñµÄºóÍÈ£¬´ÓÈÝÓ¦¶Ô¸÷ÖÖ¾ÖÃæ¡£
|