YAPC::Asia Hachioji 2016 mid in Shinagawa 2016-07-03 Yusuke Wada a.k.a. yusukebe
YAPC::Asia Hachioji 2016 mid in Shinagawa 2016-07-03 Yusuke Wada a.k.a. yusukebe
https://github.com/nazo/safeapc ãªã«ããï¼ APC(APCu)ã®ã¦ã¼ã¶ã¼ãã£ãã·ã¥ï¼ã¢ããªããæå®ãããã£ãã·ã¥ãã½ã¼ã¹ã³ã¼ãã®ãã£ãã·ã¥ã§ã¯ãªãï¼ããããããå®å ¨ã«ãæ±ãããã®ç°¡åãªã©ããã¼ã§ãã ã©ã使ãã®ï¼ packagistã«ç»é²ãã¦ããã®ã§æ®éã«composerããå ¥ãã¦ãã ããã åºæ¬çã«ã¯æ®éã«apc_fetchã¨ãããã®ãSafeApc::getçã«å¤ãã£ãã ãã§ãã ãã¨ããªã¯ã¨ã¹ãã®æåã«ã以ä¸ãå ¥ããå¿ è¦ãããã¾ãã // ãã£ãã·ã¥ã§ä½¿ç¨ãããªã¯ã¨ã¹ãéå§æéãæå® SafeApc::setCacheStartTime($_SERVER['REQUEST_TIME']); // ãã£ãã·ã¥ã®ãã¼ã¸ã§ã³çªå·ãæå®ï¼ãã®ä¾ã§ã¯å¤é¨ãã¡ã¤ã«ããï¼ SafeApc::setCacheVersionKey(file_get_contents('
ããã«ã¡ã¯ãDMMã®ã·ã¹ãã æ¬é¨ãã©ãããã©ã¼ã éçºé¨æå±ãéæ²¢ã®é«èº«é·ã¨ã³ã¸ãã¢ãã¨ãªã§ã¦ã¿ã§ã^^ ä»åã¯PHPã§ãã¹ãã³ã¼ããæ¸ãéãmemchachedã®ä»£ããã«APCuãå©ç¨ãã¦æå¹æéå ã®APIã¢ã¯ã»ã¹ãã¼ã¯ã³ããã£ãã·ã¥ãã¦ä½¿ãåãã¤ãããããã¾ããããªãã£ã話ããä¼ããã¾ãï¼ å¤æããã㨠ãã£ããããã¨ãphpã®cli(ã³ãã³ãã©ã¤ã³)ãããAPCuã¯memchachedã£ã½ã使ããã¨ãã§ãã¾ããï¼ ããå°ãç´°ããè¨ãã¨ããã£ãã·ã¥ããããã«ãã¼ã¿ãå ¥ããããåºãããã§ãã¾ãããæå¹æé(ttl)ã¯æå³ããªããªãããæ ¼ç´ãããã£ãã·ã¥ã¯ã³ãã³ãã©ã¤ã³ã®å®è¡ããã»ã¹ãçµäºããã¨å ¨é¨ç ´æ£ãããã®ã§memchachedã®ããã«ä½¿ããã¨ã¯ã§ãã¾ããã§ããã çµç·¯ PHPã«APCï¼ç¾å¨ã¯APCuï¼ãå ¥ããã¨memchachedã¿ããã«ã¡ã¢ãªã«ãã¼ã¿å ¥ããããã¨èãããã¨ããã§ãã
åé¡ ã¢ããªã±ã¼ã·ã§ã³å ã§httpsã«ããå¤é¨APIãå©ãã¦ãããµã¼ãã®ã¡ã¢ãªä½¿ç¨éãå¢å ãç¶ããä»¶ã«ã¤ãã¦èª¿ã¹ãã 該å½ã®ãµã¼ãã§ã¯ã以ä¸ã®ããã«ã¡ã¢ãªã®ä½¿ç¨çãå¾ã ã«ä¸æãã¦ããã ã¾ããã¢ããªã±ã¼ã·ã§ã³ã®ããã»ã¹èªä½ãã¡ã¢ãªãæ¶è²»ãã¦ããããã§ã¯ãªãç¶æ ã åå 調æ»ããã¨ããã®ãã°ä»æ§ãè¸ãã§ããã®ã§ã¯ãªããã¨æããããã¼ã¸ãè¦ã¤ããã https://bugzilla.redhat.com/show_bug.cgi?id=1044666 å 容ã¨ãã¦ã¯ãcurlãå®è¡ããéã« /etc/pki/nssdb/以ä¸ã®åå¨ããªããã¡ã¤ã«(æ¯åéããã¹)ã«å¯¾ãã¦accessã·ã¹ãã ã³ã¼ã«ã大éã«ã³ã¼ã«ããã negative dentry cacheãæºã¾ã£ã¦ãããã¡ã¢ãªä½¿ç¨éãå§è¿«ãããã¨ãããã®ã å®éããã®ç¶æ³ãèµ·ãã¦ãããµã¼ãã調ã¹ãã¨ã¡ã¢ãªä½¿ç¨çã®ãã¡å¤ããå ãã¦ããã®ã¯nega
ä¸éã§ã¯ PHP ããPerl ããã¨çãä¸ãã£ã¦ããããã§ãã空æ°ãèªã¾ãã¾ãã«ã¼ãã«ã®è©±ã§ããä»åã¯ãã¼ã¸ãã£ãã·ã¥ã«ã¤ãã¦ã /dev/shm ã«åç §ç³»ï¼¤ï¼¢ãæã£ã¦ãã㨠I/O è² è·ãæ¿æ¸ããä»¶ï¼å½ããåã ãã©ï¼ - drk7jp ã§ããã£ã¹ã¯ä¸ã«ãã£ããã¡ã¤ã«ã /dev/shm (tmpfs) ã«ç§»ããã I/O å¾ ã¡ããªããªã£ã¦è² è·ãããã£ããã¨ãããã¨ãªãã§ãããããããã㯠tmpfs ã«ç½®ãå¿ è¦ã¯ãªãããªã¨æãã¾ããLinux (ã«éããä»ã® OS ãããã§ãã) ã«ã¯ãã£ã¹ã¯ã®å 容ãä¸åº¦èªãã ãããã¯ã«ã¼ãã«ããã£ãã·ã¥ãã¦ãäºåº¦ç®ä»¥éã¯ã¡ã¢ãªããèªãæ©æ§ = ãã¼ã¸ãã£ãã·ã¥ãããã¾ããtmpfs ã«ãã¼ã¿ãè¼ãããã¨ãã§ãããã¨ãããã¨ã¯ç©çã¡ã¢ãªã®å®¹éã«åã¾ãã ãã®ãã¼ã¿ãµã¤ãºãã¨æãã®ã§ãæ¾ã£ã¦ããã°è©²å½ã®ãã¡ã¤ã«ã®å 容ãã¹ã¦ãã¡ã¢ãªä¸ã«ãã£ãã·ã¥ãã㦠io
Perlã¯ãåç¥ã®éãTrue/Falseã¨è¨ã£ãçå½å¤ãæ±ãBooleanãªåã¯æ¨æºã§åãã£ã¦ããªããä¾ãã°ä»¥ä¸ã®ãã¹ãã¯å½ã®å¤ã¨è§£éããå ¨ã¦Failããã use Test::More; ok(0); # Fail ok(undef); # Fail ok(''); # Fail done_testing; ã¤ã¾ã 0 undef / æªå®ç¾©å¤ 空æåå ãå½ã¨ãã¦è§£éããããæ®æ®µã¯ããããæåã§åé¡ã¯ç¡ããã ãã©ããã£ãã·ã¥ã®å¶å¾¡ã®æã«å°ã£ã¦ãã¾ãèããæãå¥ã解決çã®ãããªå®è£ ãè¦ã¤ãã£ãã®ã§ç´¹ä»ã¨ããã³ãããã ãããæ¬¡ç¬¬ã è¿½è¨ ä»¥ä¸ããµã¤ã¼ã« defined ã§ãã«ããã°ã¤ã±ãï¼ unless(defined $value) { ...; } koba04ãããtoku_bass ããããã£ããã¨ãã¾èªåã®ã¢ããªã§è©¦ãã¦ã¿ã¾ãã ãã£ãã·ã¥ã®å¸¸å¥ææ®µçã«ãããªããã¼ããã使ãã
Linuxä¸ã§ä»»æã®ãã¡ã¤ã«ããã¼ã¸ãã£ãã·ã¥ã«ä¹ã£ã¦ãããã©ãã調ã¹ãCã§æ¸ãããããã°ã©ã ãè¦ã¤ããã®ã§ãã³ã³ãã¤ã«ãã¦å®è¡ãã¦ã¿ãã Linuxä¸ã®ã¨ãããã¡ã¤ã«ããã¼ã¸ãã£ãã·ã¥ã«ä¹ã£ã¦ãããã©ããã調ã¹ãããªã¼ã¨æã£ã¦Googleå çã«ãç¸è«ããã¨ããããããªã³ãã³ããæãã¦ãããã ãã¡ã¤ã«ãã¡ã¢ãªã«ããããã¦ãmincore(2)ã§ãã¼ã¸ãã¨ã«RAMã«åå¨ãããã©ããããã§ãã¯ãã¦ãããããã mmapãã¦ãå³ã¡ã¢ãªã«ãã¼ããããããã§ã¯ãªãã®ããã Cã®é¨åã ãæãåºãã¦ãåä½ã§åããã¦ã¿ãã #include <errno.h> /* errno */ #include <fcntl.h> /* fcntl, open */ #include <stdio.h> /* perror, fprintf, stderr, printf */ #include <stdlib.
Cache::Memcached(::Fast)ã使ãä¸ã§ãã¹ããã©ã¯ãã£ã¹ãã¾ã¨ããã¢ã¸ã¥ã¼ã«ãæ¸ãã¦ã¿ããååã¯ãCache::Memcached::IronPlateããã®ã¿ã¡ç¼ãã githubã«ããã¾ããããã¥ã¡ã³ããæ¥æ¬èªã ãã§ã: https://github.com/kazeburo/Cache-Memcached-IronPlate ã¤ãããã use Cache::Memcached::IronPlate; use Cache::Memcached::Fast; my $memd = Cache::Memcached::IronPlate->new( cache => Cache::Memcached::Fast->new(...). ); $memd->get $memd->get_multi $memd->set $memd->add $memd->replace
ããããã¢ã³ããã¯è¡¨ç¤ºé度ãé ãã§ãã åå ã®ï¼ã¤ããæ²¢å±±ç»åã使ã£ã¦ãããã¨ã ã£ãã ç»åèªä½ã¯ãã£ãã·ã¥ãã¦ããããæ´æ°ããªãã確èªããããã®ã¢ã¯ã»ã¹ãè¶³ãå¼ã£å¼µã£ã¦ããæ§åã ãªã®ã§ããã®ã¢ã¯ã»ã¹ãç¡ããããã«ãå°ããç»åã¯htmlå ã«åãè¾¼ããã¨ã«ããã ä»ã¾ã§ç»åã¯ãã®ããã«æ¸ãã¦ãããã <img src="http://hogehoge.jp/hoge.png"> ç»åãbase64ã§ã¨ã³ã³ã¼ãããã¨ã以ä¸ã®ããã«æ¸ãããããã <img src="data:image/png;base64,iVBORw0KGgo...."> ãã®æ½çã§40ã¢ã¯ã»ã¹ãããã¯æ¸ãããã¨ãã§ããã è¨æ¸¬ãã¦ã¿ãã¨ã ããã30%æ©ããªã£ã¦ãã æçµçã«ã§ããã©ã¤ãã©ãªã¯ä»¥ä¸ã®ãããªæãã«ãªã£ãã ç»åã®URLãæ¸¡ãã¨ãbase64ã§ã¨ã³ã³ã¼ããã data:image/png;base64,iVB
ææ°æç« 2018-12-26 05:10⪠é¾å²©ä¸å ¬äº¤è½¦é嫿è´5æ»åºæ¥åç§°å«ç¯ä»å± å§ä¼âéåºâ 2018-12-26 05:10âª å¾æ±åºç§åç¬¬ä¹æ¬¡ä»£è¡¨å¤§ä¼ï¼åæ¥äººæä¼å¿å©æ¨ææ¯åæ° 2018-12-26 05:10⪠山ä¸å°è¿å¤§é£é温å±é¨å°åºéæ¸©è¶ 10â 2018-12-26 05:10⪠éªåç§°éèµä½æiPhoneXå¹´è½»å车人ä¸äºè°å 计买走模... 2018-12-26 05:10⪠ææé¦åº§è£ çµæ¢¯å¤©æ¡¥æä¾äººæ§åä¾¿æ·æå¡åæ¬¢è¿ 2018-12-26 05:10⪠ä¸ç»é¨è¦æ±ï¼å¨å æ¦æ¥èæé´èµ°è®¿æ °é®çæ´»å°é¾å åãèå åã... 2018-12-26 05:10⪠æ¶å30ä¸äººï¼èæ´²åéå¢å®æåºå°å 大类èè½åç¦»ç§»äº¤å®æ 2018-12-26 05:10⪠央è¡ï¼åå£åº¦88.8%çå± æ°è®¤ä¸ºæ¶å ¥å¢å æåºæ¬ä¸å 2018-12-26 05:10⪠ä¸ç·åé«éâé£è½¦âåæè§é¢æå¾®ä¿¡ç¾¤å æ¶å«å±é©
ä»äºã§ç»åãã£ãã·ã¥ãµã¼ãã¼ãæ§ç¯ããæã®ã¡ã¢ãå¤§è¦æ¨¡äºä¾ã®è¨å®ä¾ãæ¤ç´¢ãã¦ããã¾ãè¦ã¤ãããªãã£ãã®ã§åããããªå¢éã®èª°ãã®åèã«ãªãã°ã ãã¼ã¯æã®ãã©ãã£ãã¯ã¯æ°Gbps ç»åç·å®¹éã¯æ°åTB ããã¯ã¨ã³ãã®storageãè¤æ°ç¨®é¡ è¦æ¨¡ã¨ã¢ã¯ã»ã¹éã¨ã¢ã¯ã»ã¹ãããç»åã®ç¨®é¡ãå¤ãã®ã§ãsquidã§disk cacheã使ç¨ããã¨COSSçã使ç¨ãã¦ãdiskIOã§è©°ã¾ãçºãå ¨ã¦on memory cacheãcache容éã確ä¿ããçºã«å¿ ç¶çã«cacheãµã¼ãã¼ã®å°æ°ãæ°åå°ã 1. squidãsiblingæ§æã§ä¸¦åã«ä¸¦ã¹ã cache_peer 10.0.1.1 sibling 80 3130 no-query no-digest proxy-only cache_peer 10.0.1.2 sibling 80 3130 no-query no-digest proxy-o
Apache 2.2ã§Webãµã¤ããããã©ã¼ãã³ã¹ã¢ããï¼ ï¼ ææ°Apacheã®æ©è½ã¨è¨å®æ¹æ³æãã¾ã ï¼ é¶´é· é®ä¸ï¼[email protected]ï¼ 2006/3/14 å¼·åãããããã¥ã¡ã³ããã£ãã·ã¥æ©è½ã使ã ããã¥ã¡ã³ããã£ãã·ã¥æ©è½ãå°å ¥ããã¨ãApacheã®å¿çæ§ãåä¸ããããã¨ãã§ãã¾ãã 徿¥ã®Apache 2.0ã§ããmod_file_cacheã¢ã¸ã¥ã¼ã«ã使ç¨ãããã¨ã§é常ã³ã³ãã³ãã®ã¬ã¹ãã³ã¹ãåä¸ããããã¨ãã§ãã¾ããããã ããmod_file_cacheã®ä»çµã¿ã¯Apacheã®èµ·åæã«ãã¡ã¤ã«ãã¡ã¢ãªã«èªã¿è¾¼ã¾ããã¨ãããã®ã§ãã³ã³ãã³ãã«å¤æ´ããã£ãå ´åã¯åèµ·åãå¿ è¦ã«ãªããªã©ãåçãªãã£ãã·ã³ã°ã«ã¯å¯¾å¿ãã¦ãã¾ããã§ããã Apache 2.2ã§ã¯ãRFC 2616ã«æºæ ããHTTPã³ã³ãã³ããã£ãã·ã¥ãå¯è½ã«ãªãã¾ãããCache-Controlãã
/etc/apache2/mods-available/disk_cache.conf <IfModule mod_cache.c> <IfModule mod_disk_cache.c> CacheRoot "/var/cache/apache2/disk_cache" CacheSize 524288 CacheEnable disk / CacheDirLevels 4 CacheDirLength 5 </IfModule> </IfModule> cache ç¨ãã£ã¬ã¯ããªã®ä½æ # mkdir /var/cache/apache2/disk_cache mod_cache 㨠mod_disk_cache ã®æå¹å # a2enmod cache # a2enmod disk_cache # apache2ctl configtest # apache2ctl restart
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãç¥ãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}