- 1ã€ã®ããŒãã«é¢ãããã¹ãŠãç¥ã£ãŠããã®ã§ãã·ã¹ãã å šäœã®åäœã«ã€ããŠã¯ãŸã£ããããããŸãããã1200RPSãåé¢ã«ããæç¹ã§ãããŒãžã®90ïŒ ã300msã§ã95ïŒ ã650msã§ãã·ã¹ãã ãšã©ãŒãšã¿ã€ã ã¢ãŠããå°ãªãã 1ç§ããã10ãïŒã«ããã®äžã®åçãåç §ïŒ
- ã·ã¹ãã ããŒãã®ããããã®ã·ã¹ãã ã€ã³ãžã±ãŒã¿ã®1ã€ãè¶ ããŠããã¢ã©ãŒã ã®äŸ¡å€ããããšããæå³ã§ã¯ãããŸãããããŒãã®è² è·ãå¢å€§ããããéçºè ãã¢ã«ãŽãªãºã ãå€æŽããå¯èœæ§ããããŸã
- åã ã®ããŒãã®ç£èŠã®äžç°ãšããŠããµãŒãã¹ã®æ®µéçãªäœäžã远跡ããããšã¯ã»ãšãã©äžå¯èœã§ã-ååãšããŠããäœãæ©èœããªããå Žåã«ã®ã¿æ©èœããŸã
- å€éšãµãŒãã¹ã®ããã©ãŒãã³ã¹ã®äœäžã¯ååãšããŠç£èŠãããŸããïŒCDNã«ãã£ãŠçŠæ¢ãããããšã¯ãããŸããïŒïŒ
ç§ãã¡ã®ãµã€ãã®æåã®ãµã€ãã«ã¯ã1,000,000ãè¶ ãããŠããŒã¯ããžã¿ãŒã1æ¥ã«ããã³ããšã³ãã§1å件ãŸã§ã®httpãªã¯ãšã¹ãããããŠãµããŒãã«é¢ããŠã¯ãããžã§ã¯ãã®åç©åããããŸãã ããŒã¯ãŒãã®ã»ãã-nginxãapacheãphpïŒ2ã€ã®ããªãšãŒã·ã§ã³ïŒãoracleã å·vetãªåšææ§ã«ãããåã ã®è²¬ä»»ãŸãŒã³ã§ããã¹ãŠãç§ãã¡ã®ããã«åããããŸãã¯çããããšã§ã¯ãªãããäœãããªãã®ããã«åããªãããšããç¶æ³ãçããŸãã 責任ã®å¢çã§ã¯ããã±ããã®ç¶ç¶çãªè»¢éããããŸãã
è»èŒªã®åçºæãéå§ããããšã¯ãããããã¯ãšã³ãã®å¿çãããã³ç¹å®ã®èŠæ±ã®åŠçã«é¢äžãããŠãŒã¶ãŒã远跡ããŠããŠãŒã¶ãŒãžã®å¿çã®æéãšæ£ç¢ºããç£èŠããããšã«ããŸããã ãŸããããã«å ããŠããªã¥ãŒã -ããã»ã©å€§ããã¯ãããŸãããããã¬ãŒã³ããŒã·ã§ã³ã®éçšã§ããã€ãã®ã¬ãŒãã瀺ãããšãã§ããŸãã
æçµçã«åŸããã®ã

1.ãœãŒã¹ããŒã¿ã®æºåã
ã·ã¹ãã å ã«è€æ°ã®ããŒããããå Žåãã·ã¹ãã å šäœãéããŠæåããéå§ãã1ã€ã®èŠæ±ã远跡ããæ¹æ³ããããšäŸ¿å©ã§ãã ããŒããå€æ°ããå Žåãã¯ã©ã€ã¢ã³ãIPã¯åœ¹ã«ç«ããªããªããŸãã ããŒã¹ãäžã«ããå ŽåãDBAã¯ã¯ãã ããŠãšãwhose request ???ããšãããã¬ãŒãºã§å®è¡ãããããšããããŸãã ãŸããçµåãããæšæºã«ã¯ãããã¯ãšã³ãã®åŠçæéãã¢ããã¹ããªãŒã ã«ãã£ãŠéžæããããã£ãã·ã¥ã®ããããããŒã¿ããŠãŒã¶ãŒã«éä¿¡ãããæéã«é¢ããæ å ±ãå«ãŸããŠããŸããã æšæºã®nginxã¢ãžã¥ãŒã«ã«ã¯ãå¿ èŠãªã»ãŒãã¹ãŠã®ãã®ãå«ãŸããŠããŸãã HeadHunterããã¢ãžã¥ãŒã«ã1ã€ã ãè¿œå ããŸãã
github.com/hhru/nginx_requestidãnginxã®åãªã¯ãšã¹ãã«äžæã®èå¥åãå²ãåœãŠããã°ã«æžã蟌ã¿ãããããŒã§äžäžã«è»¢éã§ããããã«ããŸãã nginxãã°ã®æçµåœ¢åŒã¯æ¬¡ã®ãšããã§ãã

æã ã¢ããã¹ããªãŒã ã¿ã€ãã®ãã£ãŒã«ãã«ã¯ããã®ãªã¯ãšã¹ããåŠçãããã¹ãŠã®ããã¯ãšã³ãã«å¯ŸããŠããupstream_1ïŒUpstream_2ããšãã次ã®ãã®ãååšããããšãã§ããŸãã Request_idã¯ãã§ã«èª¬æãããŠããŸããæåŸã®2ã€ã®uid_gotãuid_setã¯ngx_http_useridã¢ãžã¥ãŒã«ã§ãã·ã¹ãã Cookieãã€ã³ã¹ããŒã«ããããšã§ç¹å®ã®ãŠãŒã¶ãŒã远跡ã§ããŸãã åºåãæåãšããŠ4ã€ã®ã¹ããŒã¹ã䜿çšãããçç±ã«ã€ããŠã¯ã解æã»ã¯ã·ã§ã³ã§èª¬æããŸãã ApacheãŸãã¯php-fpmã¬ãã«ã§ã¯ãäžããæ¥ãrequest_idããã°ã«æžã蟌ã¿ããªã¯ãšã¹ããã©ã³ãµãŒãã¢ããã¹ããªãŒã ãšããŠæå®ãããŠããå Žåã¯ãã¹ãåãæž¡ãã®ãçã«ããªã£ãŠããŸãã ã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã§ã¯ããšã©ãŒã¡ãã»ãŒãžã§request_idã瀺ãã«ãŒã«ã確ç«ãã䟡å€ããããŸãã èŠæ±ããŒã¿ãOracleã»ãã·ã§ã³ã«è»¢éããæ¹æ³ã®1ã€ã¯ãçãã¡ã¢ã§èª¬æããŸããã ãã®å©ç¹ã¯ãéçºè ã«åãæ¹æ³ã§åãããšãããããã«äŸé Œããå¿ èŠããªãããã¹ãŠã®ãããžã§ã¯ãã®ããŒã¿ãäžåºŠã«ååŸã§ãããšããä¿èšŒãããããšã§ãã ãŸããpinbaãŸãã¯xhprofã®æ¹åã調ã¹ãŠãåãªã¯ãšã¹ãããã³ãããžã§ã¯ã/ãµã€ãã®å¹³åçãªå€éšãªãœãŒã¹ïŒããŒã¹ãAPIãµãŒãã¹ãã·ã¹ãã ã³ãŒã«ïŒã®ã¬ã€ãã³ã·ã远跡ããããšãçã«ããªã£ãŠããŸãã ãã®åéã§ã®åœç€Ÿã®ãœãªã¥ãŒã·ã§ã³ã¯ãå¬ã«è¿ã¥ãæºåãã§ããŠããŸãã
ãããªãè°è«ã¯ãçŸåšã®ã·ã¹ãã ã§æãæ å ±éãå€ãèšå€§ãªnginxãã°ã䜿çšããŠãã°ãåæããè©Šã¿ã«å°å¿µããŸãã
2.åäžã®ã»ã³ã¿ãŒã§ã®ãã°ã®åéã
ãã°éçŽã®äºå®äžã®æšæºã¯ãsyslogã®ããŸããŸãªåå²ãšåå«ã§ãã UDPã¯ãæ¥ç¶ãµããŒãããã³é ä¿¡ä¿èšŒã®åœ¢åŒã§ãªãŒããŒããããåé¿ããããã®ãã©ã³ã¹ããŒããšããŠäœ¿çšãããŸãã éåžžã¢ãŒãã§ã¯ãã¡ãã»ãŒãžã®æ°ããŒã»ã³ãã倱ãäœè£ããããŸã;ããå€ãã®ã°ããŒãã«ãªæ倱ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã°ããŒãã«ãªåé¡ã«æ¢ã«é¢é£ããŠãããä»ã®ãœãŒã¹ããåŠç¿ããŸãã hh.ru Operations Directorã®ã¬ããŒããThe Experience to Switching of SOAã www.slideshare.net/kuchinskaya/sivkoã®ã¬ããŒãããã倧éã®ã¡ãã»ãŒãžã®èœãšãç©Žã«ã€ããŠè©³ããç¥ãããšãã§ããŸãããã°ã1ãæã§åéããããã®ããã€ãã®ãªãã·ã§ã³ã«ã€ããŠèª¬æããŠããŸãã udpé ä¿¡ã«å ããŠãå°æ¥ã®ããã«ãã°ãåäžã®ãã¡ã€ã«ã¹ãã¬ãŒãžã«åéããããšã¯çã«ããªã£ãŠããŸãã
åé¡ã®2çªç®ã®éšåã¯ãæåã«ãµã€ãã§è§£æ±ºãããŸããããã¹ãŠã®ãã°ã¯ãæåã«ãããã¯ãŒã¯æ¥ç¶ã¹ãã¬ãŒãžã«æžã蟌ãŸããŸãã ã¢ãã©ã€ã¶ãŒã®ãããã¿ã€ããåçŽåããããã«ãnfsãã°ãèªã¿åãã ãã§ãã åççã«ãããæªãã®ã¯ãªãã§ããïŒãã°ã¯24æéã·ã¹ãã å šäœã®ãªãœãŒã¹ãæ¶è²»ãããã°ã®å¯çšæ§ã¯ãããã¯ãŒã¯ã¹ãã¬ãŒãžã®å¥å šæ§ã«äŸåããŸãïŒä»äºäžã«NetAppãåé€ããããšããããŸããïŒïŒ ãŸããããã¹ã圢åŒã®è¡ããã°ãã¡ã€ã«ã«æžã蟌ãŸããŸãããªã¯ãšã¹ãããŒã¿ãã·ãªã¢ã«åããã圢åŒã§éä¿¡ãããå Žåãåä¿¡åŽã§ã®è§£æã®ã³ã¹ããåé¿ããŸãã
2.5ãã°ã®è§£æã
ãã®å ŽåãããŒãµãŒã¯Perlã§äœæãããããŒã¿ã¯MongoDB 2.2.0ã«ä¿åãããŸãã ã¢ã«ãŽãªãºã ã¯äžåèªã«ç°¡åã§ã-ãã«ã¿ãã«ãããªãããã倧ããå Žåããã¡ã€ã«å ã®æåŸã«åŠçãããäœçœ®ãèŠããŠãçŸåšã®ãµã€ãºãæ¯èŒããŸã-解æã§ãã¡ã€ã«ã®è§£æã«éä¿¡ãã解æã§ã¬ã³ãŒãã®æ£ç¢ºãããã§ãã¯ããŸãïŒèšé²ã®ãããã¡ãªã³ã°ã«é¢ãããã¹ãŠãèŠããŠããŸããïŒïŒ çæãã
- å€ãã®ãã¡ã€ã«ãããå Žå-æ¯åãã¡ã€ã«ãéãã®ã§ã¯ãªããèšè¿°åãä¿åããŸããæéå ã«ããã»ã©å€ãã¯ãããŸããããã¹ãã¬ãŒãžã¯ããå¿«é©ã«ãªããŸã
- ãã®åœ¢åŒã®reg expã¯ã1ç§ããã700è¡ãåŠçããŸãããæšæºã®ã»ãã¬ãŒã¿ãŒåœ¢åŒã«åãæ¿ããŠãéåžžã®åœ¢åŒãåå²ã«çœ®ãæããåŸãé床ã¯1ç§ããã1äžãã2äžè¡ã«å¢å ããŸããã ããã§ãæ°åã¯å ãªã信念ãããåªããŠãã
- å埩æéã2ã3ç§æªæºã®å Žå-å°ãã¹ãªãŒãç¶æ ã«ãããšãã¹ãã¬ãŒãžã¯æ¯ç§æ°çŸã®ãã¡ã€ã«çµ±èšã«ãã«ãããªãã®ã§ããã«å¿«é©ã«ãªããŸãã
- batch_insertã¯ããŒã¹ãå¿«é©ã«ããŸãããmongoã«ã¯1åã®æ¿å ¥åŒã³åºãã§16MBã®å¶éããããŸãïŒ4MBãã2.2ïŒ
ãããã®é åã¯ãã¹ãŠãudpããŒã¿ãéä¿¡ããããšã§åé¿ã§ããŸãã
3.ã³ã³ãã¥ãŒãã£ã³ã°åæããã³æ€çŽ¢çšã®äžæã¹ãã¬ãŒãžã
ãã¹ãŠã®ããŒã¿ãã€ã³ããã¯ã¹ãšãšãã«é·æéä¿åããããšã¯å¯èœã§ãããéåžžã«é«äŸ¡ã§ãã å®éã«ã¯ãäžæã¹ãã¬ãŒãžã䜿çšãããéå»æ°æé-1æ¥ã®ããŒã¿ã䜿çšããŠåæãæ§ç¯ã§ããŸãã éçšèšºæã®å Žåãããå€ãã®ããŒã¿ã¯æå³ããããŸãã;åžžã«çããŒã¿ã«åºã¥ããŠã°ããŒãã«ãªå±¥æŽã¬ããŒããäœæã§ããŸãã
MongoDBã䜿çšããã®ã¯ã...æ¬åœã«ãããã£ãããã§ãã 倧ãã£ã±ã§ãããããã§ã-ãã®ãããªã·ã¹ãã ãå®è£ ããæºåãã§ããŠããä»»æã®ããŒã«ãéžæã§ããŸãã ã¬ã³ãŒãã®ã°ã«ãŒãåãšãªããžããªå ã®ããŒã¿ã®æŽæ°ããã䟿å©ã§é«éã«å®è£ ãããã»ã©ãããè¯ãçµæãåŸãããŸãã
ã¢ã³ãŽã®éå®æçå©çã®ãã¡
- äžéä»ãã³ã¬ã¯ã·ã§ã³-ã¬ã³ãŒãã®fifoã³ã¬ã¯ã·ã§ã³ããã®å Žåã¯ååãª3GBã³ã¬ã¯ã·ã§ã³ãããããã®ãã¡ã€ã«ã¯RAMãã£ã¹ã¯äžã«ãããŸã
- éçŽãã¬ãŒã ã¯ãŒã¯-ããŒãžã§ã³2.2ã®æ°æ©èœã1ç§ããã1.200ã10.000ã®ã¿ã¹ã¯ã°ã«ãŒãçšã50ã200ããªç§
- ttlã³ã¬ã¯ã·ã§ã³-ã¬ã³ãŒãã®æå¹æéïŒmemcacheã®æéåãã®ã¢ããã°ïŒãæå®ã§ããã³ã¬ã¯ã·ã§ã³ãimhoã¯ããç²éã§ã
- 1ã€ã®ã¹ããªãŒã ã§ã®æžã蟌ã¿é床-1ç§ããã5ã6åã¬ã³ãŒããè€æ°ã®èšé²ã¹ããªãŒã ã§ã¹ã±ãŒãªã³ã°å¯èœ
ããã
- éçŽ$ãããžã§ã¯ãã®ããŒãžã§ã³2.2.0-rc0ã§ã¯ãæååã$ addæŒç®åã«æž¡ãããšãã§ãããããè€æ°ã®ãã£ãŒã«ãã®ã°ã«ãŒãããŒã圢æããŸãããããŒãžã§ã³2.2.0-rc1以éã§ã¯ããã®ãããªå¯èœæ§ã¯ãªãã$ concatæŒç®åã¯2.3ã§çŽæãããŠããŸãã xæéãªãã ããŒãµãŒã§ããé«ãã¬ãã«ã«ç§»åããå¿ èŠããããŸãã-åã¬ã³ãŒãã«ã°ã«ãŒãããŒãæžã蟌ã
- äœæãããã€ã³ããã¯ã¹ãå€ãã»ã©ãæ¿å ¥ãé ããªããŸãã ã€ã³ããã¯ã¹ãå°ãªãã»ã©ãæ€çŽ¢ã®æ©äŒãå°ãªããªããŸãã çŸåšãã·ã¹ãã èå¥åãšã¬ã³ãŒãã®ã¿ã€ã ã¹ã¿ã³ããšãã2ã€ã®ã€ã³ããã¯ã¹ããããŸãã ãã¹ããã³ãã§ã¯ãã以äžã®äœè£ã¯ãããŸããã
- ãã£ããä»ãã³ã¬ã¯ã·ã§ã³ã¯çµã¿èŸŒã¿ããŒã«ã«ãã£ãŠã·ã£ããã«ãããªããããã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã§å®è¡ããå¿ èŠããããŸãã
2åç®ã®ã¬ãŒãã«ãããããããããªã¯ãšã¹ãæ°ãããã¯ãšã³ãããŒããçŽåã®ãã©ãã£ãã¯ã§äžäœ50ã®IPãèŠã€ããããšããæ¯èŒçè€éãªãªã¯ãšã¹ãã¯ã800ã1200ããªç§ã§èšç®ãããŸãã ç§ãã¡ã®å Žåãéã®çæ¹ãããŒã¿ãèšé²ãããããã匷å¶çã«åºåããŸãïŒãã¹ã¿ãŒïŒãããçæ¹ã¯ã¬ããªã«ã§ãããåæèšç®ãèšé²ãé ãããªãããã«ããŸãã
Mail TarantoolïŒtarantool.orgïŒãè©ŠããŠã¿ãããšããèŠæããããŸããæ£èŠè¡šçŸã䜿çšããŠããŒãµãŒã®ã¬ãŒããä¿®æ£ããåã«ãããŒã¿ã®èªã¿èŸŒã¿é床ã«ã€ããŠããŸãè¯ãæ°åã瀺ããŠããŸããã§ããã ä¿®æ£ããã¹ããããªãã£ãåŸãå¬ããé©ããæåŸ ããŠããŸãã
ã¿ã©ã³ããŒã«ã®æœåšçãªå©ç¹ã®
- ã¡ã¢ãªããŒã¹ã®ããŒã¿ããŒã¹
- ã¹ãã¢ãããã·ãŒãžã£çšã®luaçµã¿èŸŒã¿èšèª
- ãã·ã¢ããã³ã¢ã¹ã¯ã¯ã®é«ããã©ãŒãã³ã¹ããŒãã£ãŒã§ã®èè ã®å©çšå¯èœæ§
4.åäœãããŒã»ã³ã¿ã€ã«...
åã®æ®µéã§ãã·ã¹ãã ã®ããŒãã®ãã°ãã¡ã€ã«ããã¬ã³ãŒãã®é åãåãåããå¿ èŠãªã«ãŒã«ã«åŸã£ãŠè¿ éãªæ€çŽ¢ãšã°ã«ãŒãåãè¡ãããšãã§ããŸããã Perlã®ãã¹ãã¹ã¯ãªããã¯ã次ã®éšåã®ããŒã¿ãæºåããŸã
my $res3=$slave->logs2->run_command( { aggregate=>'lines', pipeline=>[ {'$match'=>{'tstamp'=>{'$lt'=>$i,'$gte'=>$i-1}}}, {'$project'=>{ 'gf'=>1, 'upstream_time'=>1 ,'resp_time'=>1 ,'size'=>1 } }, {'$group'=>{'_id'=>'$gf',total=>{'$sum'=>1},traffic=>{'$sum'=>'$size'},'times'=>{'$push'=>'$upstream_time'},'response'=>{'$push'=>'$resp_time'}}} ] } );
gfãã£ãŒã«ãã¯ã©ãã§ãã
$inf{gf}=join(' ',($inf{upstream},$inf{code},$inf{host},$inf{backend},$inf{frontend},$inf{cache_status},$inf{content_type},$inf{url},$inf{upstream_code}));
åºåã§ã¯ãäºåã«ã°ã«ãŒãåãããããŒã¿ã®é åãžã®ãªã³ã¯ãååŸããŸããããã¯åŸã§æéã¡ããªãã¯ã«å€ãããŸãã ãã®ã±ãŒã¹ã§ã¯ãã¯ãŒã«ãã¹=ãµã€ãã®è² è·ããšã³ããŠãŒã¶ãŒã®äžè¬çãªå¿çæéã€ã³ãžã±ãŒã¿/ã³ã³ãã³ãã¿ã€ãããã£ãã·ã¥ã®æå¹æ§ããšã©ãŒæ°ã®äžè¬çãªã¡ããªãã¯ã«é¢å¿ããããŸãã ãµã€ãå šäœã®æŠèŠ³å³ã¯ãæçš¿ã®åé ã®ã¹ã¯ãªãŒã³ã·ã§ããã®ããã«èŠããå ŽåããããŸãã ãããžã§ã¯ãããŒã¹/ã·ã¹ãã å šäœã®ã¡ããªãã¯ã®ã»ããã¯ãéçšãµãŒãã¹ã管çè ã°ã«ãŒãïŒããšãã°ãç°ãªããããžã§ã¯ãããã®ãã«ããã¹ãã€ã³ããã¯ã¹ã®ãªã¯ãšã¹ãå°çšã®å¥ã®ç»é¢ãããããµã€ãã®è² è·ã®ãœãŒã¹ã確èªããããïŒãéçºè ããµã€ãææè ãããã³çŽæ¥ç®¡çãã圢æãããŸãã æåã®ãã¢ã®åŸãç§ãã¡ã®é¡ãããé±ã«1ã€ãŸãã¯2ã€ã®ç»é¢ã圢æããå§ããŸããã
éèŠãªèšç®èŠä»¶ã¯ãæéééã®èšç®æéãšç£èŠã·ã¹ãã ãžã®ããŒãããã®ééãããçãããšã§ãã
ãã®æéã¯ã1ç§ããã100ã200ããªç§ã®ééã§ãã 2çªç®ã®ééã¯ãæãå³ããæ¡ä»¶ã§ãã¹ãŠãå£ãããã«ãã³ã³ã¹ãã©ã¯ã¿ãŒã®ã¢ã»ã³ããªã®æ®µéã§éžæãããŸãã å®éã®æ¡ä»¶äžã§ã¯ãå¹³åã§5/10/30/60ç§ã®æ¹ãçåœã«å¯Ÿããæš©å©ãå€ããªããŸãã
5.èšç®ããŸãããïŒ
ãŸããããŒã¿ã¯äœããã®åœ¢ã§ããŸã衚瀺ãããå¿ èŠããããŸãã åã®æé ããããã°ãã段éã§ãhighchartsã©ã€ãã©ãªã䜿çšãããããŒã¿ã¯MongoDBããååŸããããã€ã³ã4ããã®ã¹ã¯ãªããã«ãã£ãŠè¿œå ãããŸããã
- ãšã³ããŠãŒã¶ãŒã«ããããŒãžããšã®ã°ã©ãã®ä»»æã®åœ¢æã®åé¡ã解決ããŸãã
- ååãšããŠã¿ã¹ã¯ã®ç£èŠã«ã¯é©åããŠããŸããïŒå¢çå€ã®è¿œè·¡ãSLAã«ãããµãŒãã¹å¯çšæ§ã®èšç®ãªã©ïŒ
- ãããå¹æãæäŸããŸãã

å°æ¥çã«ã¯ãããŒã¿ãã¢ããããŒãããã¢ãã¿ãªã³ã°ã·ã¹ãã ã®äž»èŠãªèŠæãçå®ãããŸããã
- ã¡ããªãã¯ãéå§ããæ©èœ
- ããããå€éšããããŠã³ããŒãããïŒapi /ããŠã³ããŒããããœãããŠã§ã¢ïŒ
ã¿ã€ãã«ç»é¢ã«è¡šç€ºãããzabbixã¯ãããã»ã©å€ããããŸããã§ããã ããã§ã¯ãmongoãšåæ§ã«ãå人çãªå¥œã¿ãç¹å®ã®ç¶æ³ã«ãã¹ãŠäŸåããŠããŸãã ãããã®ã¡ããªãã¯ã¯zabbixãã©ãããŒã¿ã€ãã§éå§ãããããŒã¿ã¯zabbix_senderãŠãŒãã£ãªãã£ã«ãã£ãŠãããã¢ãŒãã§mysqlããŒã¹ãšããŠããŒããããŸãã æ°çŸã®å€ã®ããŠã³ããŒãã«ã¯1ã2ããªç§ããããŸãã
6.ãŸãšã
ããã¯ã°ã©ãŠã³ãã§çŽ1ãæããã£ãäœæ¥ãå®äºããåŸã
- 90ç§ã®é 延ã䌎ãéžæããã¡ããªãã¯ã«é¢ããææ°æ å ±ïŒãããã¡ã解æãmongoã§ã®èšé²ãã¹ã¬ãŒããžã®ã¬ããªã±ãŒã·ã§ã³ãèšç®ã«ããèšé²æéã®ä¿èšŒïŒ
- ãã¹ãŠã®ã·ã¹ãã ããŒãã§ã®ãŠãŒã¶ãŒãªã¯ãšã¹ãåŠçã远跡ããæ©èœïŒngx_request_idïŒ
- æäžäœã¬ãã«ã§ç解-dbãäžããããŒããããããïŒã»ãã·ã§ã³æ å ±å ã®ãã¹ããrequest_uriãrequest_idã®è»¢éïŒ
- ãããžã§ã¯ãã«ããå šææ€çŽ¢ãµãŒãã¹ã®äœ¿çšã®çµ±èš
- æäŸããããµãŒãã¹ã®èŠ³ç¹ãããµã€ããèŠã-å€ãã®ãããžã§ã¯ãã«ããã³ã³ãã³ãã®çæãšé ä¿¡
- åã ã®ãããžã§ã¯ãããã³ãµã€ãå šäœã«åºæã®ããŒã³ã³æž¬å®åºæº
- ã¬ã€ãã³ã¹ã®ããã®çŸããåç
- æãå¯èœæ§ã®ãããŠã£ãã·ã¥ãªã¹ããå®è£ ããããã®ãã©ãããã©ãŒã ïŒçŸåšã®æ®µéã§ã¯ãŒããã€ã³ãã§ãªããã°ãªããŸããïŒ
éçºãã¹ãž
- 匟䞞ããšã³ããŠãŒã¶ãŒã«å°éããæ¹æ³ã远跡ããïŒèªã¿èŸŒã¿æéãšãã¹ãŠã®ããŒãžèŠçŽ ã®è¡šç€ºïŒ
- ãŠã£ã³ããŠã90ç§ãã30ç§ã«ççž®
- ãµãŒãã¹ã®æ®µéçãªäœäžã远跡ããããã®ã¢ã«ãŽãªãºã
- çããŒã¿æ€çŽ¢-ããã§ã¯ãsplunkãš2é±éã®ããŒã¿ãå«ããã¹ããã³ããåéããŸã
- xhprofã®åžæãžã®é©å¿
ãããã¯ãããã«è©³ããæãäžããããšããèŠæãããå Žå-éå»1幎éã®ãã³ã°ã¢ãŠãã§ãã³ã¡ã³ããšãã®ãããªåºçç©ãžã®ãªã³ã¯ãããå Žåãç£èŠãšãããã¡ã€ãªã³ã°ã®ãããã¯ãç¹°ãè¿ãæèµ·ãããŸãã-å¬ããã ãã§ãã
ãã®èšäºã§ã¯ãå ·äœçã«ãªãå§ããã°ããã®ã·ã¹ãã ã®äž»èŠãªèŒªéãæŠèª¬ããŸãã æåã®ã¹ãããã¯æãéèŠã§ãããç§ã¯ããªãã®ã·ã¹ãã ã®åºæ¬ã§ããååãšæè¡ãèããŠããããã§ãã