ããç¥ããªãã¾ã¾ãã¯ããã¦plackupã使ã£ã¦ã¿ã¦ããã®ã ãã©ãã¡ãã£ã¨å°ã£ã¦ããã®ã§ä½æ°ãªãåãã¦ã¿ããâ¦
sugyan | plackup -R ãè¥å¹²è² è·ãé«ãã¦èã®ä¸ã«MacBookè¼ãã¦ä½æ¥ããã«ã¯ç±ããªããããâ¦ï¼ | 2010/04/03(å) 15:38:34 | |
miyagawa | @sugyan try plackup -L Shotgun instead | 2010/04/03(å) 15:41:13 | |
miyagawa | @sugyan or install Mac::FSEvents | 2010/04/03(å) 15:44:43 | |
sugyan | @miyagawa ãããã¨ããããã¾ãï¼ ãã£ããããã¦ã¿ã¾ã | 2010/04/03(å) 15:48:00 | |
sugyan | ãã£ããFilesys::Notify::Simpleã£ã¦ã®ãä¸ã§Mac::FSEvents(ãããã¯Linux::Inotify2)ãããã©ããã¿ã¦å®æãã¼ãªã³ã°ãããã©ãã決ãã¦ãããã | 2010/04/03(å) 16:01:30 |
http://d.hatena.ne.jp/tokuhirom/20091216/1260962843
ã³ã¼ãæ¸ãã¦ç·¨éãããã³ã«webã¢ããªãåèµ·åããã®ã¯æéãªã®ã§ãèªåã§å¤æ´ãåæ ãã¦ç«ã¡ä¸ãç´ãã¦ãããããã®ä»çµã¿ãããã¨ä¾¿å©ã
ä»ã«ã©ãããã®ãããã®ãããåãã£ã¦ããªãã®ã ãã©ãplackupã³ãã³ãã®å ´å"-r"ã¨ãããªãã·ã§ã³ã§./lib以ä¸ã®å¤æ´ãç£è¦ãã¦ç«ã¡ä¸ãç´ãã¦ãããã
ã½ã¼ã¹ã追ãããã¦ã¿ãã¨ãã©ãããPlack::Runnnerã®ä¸ã§Plack::Loader::*ãã¢ããªã®loaderã¨ãã¦è¨å®ãããããã§ã"plackup -r"ã¨ããå ´åãPlack::Loader::Restarterãèªã¿è¾¼ã¾ããããããããã¯Filesys::Notify::Simpleã¨ããã¢ã¸ã¥ã¼ã«ã§ãã¡ã¤ã«å¤æ´ãç£è¦ãã¦ãå¤æ´æã«ç«ã¡ä¸ãç´ãã¨ããå¦çããã¦ãããããããFilesys::Notify::Simpleã®ä¸èº«ãã¿ãã¨ãMac::FSEventsãããã°ããã使ç¨(Linuxã®å ´åLinux::Inotify2)ããªãå ´åã¯sleepãã¤ã¤2ç§æ¯ã«ãã«ã¹ãã£ã³ãã¦ãããã¨ããä»æ§ã®ããã ããããCPUå°ãã¾ããã(Mac::FSEventsãã©ããã£ã¦ç£è¦ãã¦ããã®ãã¯ç¥ããªãã)
ã¨ããããMac::FSEventsãå ¥ãããã¨ã§MacBookãç±ããªã£ã¦ãã¾ãåé¡ã¯è§£æ±ºï¼
ããï¼ã¤ã®LoaderãPlack::Loader::Shotgunã試ãã¦ã¿ãã
æè¿åå¼·ä¸ã®Catalystã§Plack::Loader::Shotgunã使ãã¨ããã¾ã§
$ catalyst.pl Hoge created "Hoge" created "Hoge/script" created "Hoge/lib" ... Change to application directory and Run "perl Makefile.PL" to make sure your install is complete $ cd Hoge $ ./script/hoge_create.pl PSGI created "/Users/sugyan/Hoge/script/../script/hoge.psgi" $ mv script/hoge.psgi app.psgi $ plackup -L Shotgun HTTP::Server::PSGI: Accepting connections at http://0:5000/
ããã ãã
$ plackup -r
ã¨æ¸ãã°åè¿°ã®Plack::Loader::Restarterã«ãã£ã¦lib以ä¸ã®ãã¡ã¤ã«ãç·¨éããããã³ã«åèµ·åãããã
"-L Shotgun"ã使ãå ´åããªã¯ã¨ã¹ããæ¥ãã¨ãã«åãã¦ã¢ããªã®åèµ·åããããããªå½¢ã«ãªãããã¡ã¤ã«ä¿åãããã³ã«åèµ·åããããããªãã¨ã¯ãªããå®éã«ãªã¯ã¨ã¹ããéã£ãã¨ãã«å¤æ´ã®åæ ã確èªã§ããããã«ãªãã
ããããæåããã¢ã¸ã¥ã¼ã«ããã¼ããã¦ãããã¨ãã§ããã®ã§ããç¨åº¦ããã§ãã¼ããã¦ããã°ãã®åã®ã³ã¹ããåæ¸ã§ãããããã
$ plackup -L Shotgun & $ ab -n 10 'http://127.0.0.1:5000/' ... Requests per second: 0.83 [#/sec] (mean) Time per request: 1205.442 [ms] (mean) Time per request: 1205.442 [ms] (mean, across all concurrent requests) ... $ plackup -MMoose -L Shotgun & $ ab -n 10 'http://127.0.0.1:5000/' ... Requests per second: 1.05 [#/sec] (mean) Time per request: 955.393 [ms] (mean) Time per request: 955.393 [ms] (mean, across all concurrent requests) ... $ plackup -MMoose -MHoge::Controller::Root -L Shotgun & $ ab -n 10 'http://127.0.0.1:5000/' ... Requests per second: 1.57 [#/sec] (mean) Time per request: 637.344 [ms] (mean) Time per request: 637.344 [ms] (mean, across all concurrent requests) ...
ãã¾ã使ããã°ããªã便å©ããâ¦ï¼