Code Archive Skip to content Google About Google Privacy Terms
Varnish HTTP Cache¶ Iâm new here, please explain this Varnish thing What is happening¶ 2024-11-08 - Varnish 7.6.1 is released¶ Varnish 7.6.1 has been released and can be found here: Varnish Cache 7.6.1 This maintenance release fixes a few bugs introduced in 7.6.0. 2024-09-13 - Varnish 7.6.0 is released¶ Our bi-annual âfreshâ release is here: Varnish Cache 7.6.0 The 7.4 series is no longer supporte
â [ruby] 大è¦æ¨¡Railsãµã¤ãã®ããã®æ°ããHTTPãµã¼ããUnicorn githubã®ä¸ã®äººããããã°ã§ãUnicorn使ãå§ãã¦ä¸ã¶æãããçµã¤ãã©ããæãã ããã¨æ¸ãã¦ãã¾ãã é©å½ã«è¦ç¹ã ãæ¾ã£ã¦ã¿ã¾ããã Unicornã£ã¦ä½ãï¼ Unicornã¯Rubyã®ããã®HTTPãµã¼ããMongrelãThinã®ãããªãã®ã ãã©ãå ¨ãéãè¨è¨ã¨ææ³ãæã£ã¦ãã ãããã¡ãªæ§æ [mongrel] [mongrel] .. [nginx] -> [haproxy] -> [mongrel] [mongrel] .. [mongrel] [mongrel] .. åé¡ç¹: ããactionã®å¦çã«60ç§ä»¥ä¸ããã£ãã¨ããMongrelãå½è©²ã¹ã¬ãããkillãããã¨ãã¦åºã¾ããã¨ããã ã¡ã¢ãªãä¸å®éãè¶ ããã¨ãMongrelãåèµ·åããã®ãé ãã ãããã¤æã«9åã®mongre
2007å¹´7æ4æ¥ ååãã¼ã¹ã®VirtualHostã§ããããã®SSLãµã¼ã証ææ¸ã使ã ï¼ãªãã ããã ãã¦ãããåæçµã£ã¦ãã¾ã£ã ï¼æ¥é±ã«ãªã£ãããã¡ããã¨åé ãName-based SSL virtual hostsã ãã ååãã¼ã¹ã®VirtualHostã§SSLã使ãå ´åã以ä¸ã®æ¹æ³ãã¨ãã°ãããããã®VirtualHostãã¨ã®è¨¼ææ¸ã使ããã¨ãã§ãã¾ãã ã¯ã¤ã«ãã«ã¼ã証ææ¸ã使ãCN=*.example.com ã¨ããè¨å®ã®è¨¼ææ¸ã使ãã°ãwww1.example.com 㨠www2.example.com ã§å ±éã®ãµã¼ã証ææ¸ã使ããã¨ãã§ãã¾ãã subjectAltNameã使ã 証ææ¸ã® subjectAltName ã«å¥åã¨ãã¦VirtualHostã®DNSåãæ¸ãã¦ããã¾ãããµã¼ãã«ã»ãããã証ææ¸ã¯ï¼ã¤ã§ããã証ææ¸å ã®å¥åããã§ãã¯ãããã¨ã§ãã証æ
ãã£ã¹ã¯ã¬ã¹ (diskless) ãµã¼ããå¤æ°éç¨ãããã¨ããã¨ãããã¯ã¨ãªãã®ãã NAS (Network Attached Storage) ãµã¼ãã®æ§è½ã å¤æ°ã®ãã£ã¹ã¯ã¬ã¹ãµã¼ããè³ãããã¤é«ä¿¡é ¼ãª NAS ãµã¼ãã¨ãªãã¨ã ã©ããã¦ãé«ä¾¡ãªãã®ã«ãªããã¡ã§ããã NAS ãµã¼ãæ¬ä½ã®ä¾¡æ ¼ããããã¨ãªããã ãã£ã¹ã¯ãå£ããã¨ãã®äº¤æä½å¶ãªã©ã®ä¿å®éç¨è²»ç¨ãé«ãã¤ãã ããã§ããå¤æ°ã®ãã¼ããã£ã¹ã¯å èµãµã¼ã (ã¤ã¾ãä¸è¬çãªãµã¼ã) ã éç¨ãã¦åãµã¼ãã®ãã£ã¹ã¯ãæ¥ã 交æãç¶ãã (éç¨å°æ°ãå¤ããªãã¨ã æ¯é±ã®ããã«ã©ããã®ãã£ã¹ã¯ãå£ããã¨è¨ã£ã¦ãéè¨ã§ã¯ãªã) ããã¯ã ãã£ã¹ã¯ãä¸ã¶æã® NAS ã«ã¾ã¨ããã»ããã¾ã å®ãã ã¨ãããã㧠NAS/SAN ã¸ã®ã·ããã¯ä»å¾ãé²ãã ããã ãããã CPU ãã¡ã¢ãªãªã©ã¨ãã¼ããã£ã¹ã¯ã¨ã§ã¯ã æ éçã®ã±ã¿ãéãã®ã ãã
ã¯ã¦ãªã°ã«ã¼ãã®çµäºæ¥ã2020å¹´1æ31æ¥(é)ã«æ±ºå®ãã¾ãã 以ä¸ã®ã¨ã³ããªã®éããä»å¹´æ«ãç®å¦ã«ã¯ã¦ãªã°ã«ã¼ããçµäºäºå®ã§ããæ¨ããç¥ãããã¦ããã¾ããã 2019å¹´æ«ãç®å¦ã«ãã¯ã¦ãªã°ã«ã¼ãã®æä¾ãçµäºããäºå®ã§ã - ã¯ã¦ãªã°ã«ã¼ãæ¥è¨ ãã®ãã³ãæ£å¼ã«çµäºæ¥ã決å®ãããã¾ããã®ã§ã以ä¸ã®éãã確èªãã ããã çµäºæ¥: 2020å¹´1æ31æ¥(é) ã¨ã¯ã¹ãã¼ãå¸æç³è«æé:2020å¹´1æ31æ¥(é) çµäºæ¥ä»¥éã¯ãã¯ã¦ãªã°ã«ã¼ãã®é²è¦§ããã³æ稿ã¯è¡ãã¾ãããæ¥è¨ã®ã¨ã¯ã¹ãã¼ããå¿ è¦ãªæ¹ã¯ä»¥ä¸ã®è¨äºã«ãããã£ã¦æç¶ãããã¦ãã ããã ã¯ã¦ãªã°ã«ã¼ãã«æ稿ãããæ¥è¨ãã¼ã¿ã®ã¨ã¯ã¹ãã¼ãã«ã¤ã㦠- ã¯ã¦ãªã°ã«ã¼ãæ¥è¨ ãå©ç¨ã®ã¿ãªãã¾ã«ã¯ãè¿·æãããããããã¾ãããã©ãããããããé¡ããããã¾ãã 2020-06-25 è¿½è¨ ã¯ã¦ãªã°ã«ã¼ãæ¥è¨ã®ã¨ã¯ã¹ãã¼ããã¼ã¿ã¯2020å¹´2æ28
C++㨠Pthreads ã§ãããã«ãªHTTPãµã¼ããæ¸ã ãUNIXãããã¯ã¼ã¯ããã°ã©ãã³ã°ããèªãã§ããã¨ãèªåã§ãä½ããããã¯ã¼ã¯ç³»ã®å°ããªããã°ã©ã ãæ¸ãã¦ã¿ãããªãã¾ãããããã§ããããã«ãªHTTPãµã¼ãã C++㨠Pthreads ã§æ¸ãã¦ã¿ã¾ããã åãèè ã®ã詳解UNIXããã°ã©ãã³ã°ããããã ã£ãããã«ãä»åã®æ¬ãã»ã¨ãã©ãã¹ã¦ã®ãã¼ã¸ã«ãéè¦ãªãã¨ãæ¸ããã¦ãã¾ãï¼æå¾ã®ã»ãã®XTIã®é¨åã¯ä¾å¤ããããã¾ãããï¼ã ãã¨ãã°ã27ç« ã§ã¯ãããã¯ã¼ã¯ãµã¼ãã®å®è£ ã¨ãã¦ã次ã®è¨è¨æ¹éãããããæ¤è¨ãããå®éã®ã³ã¼ãä»ãã§è§£èª¬ããã¦ãã¾ãã ã¯ã©ã¤ã¢ã³ããã¨ã« fork äºåã« fork - åããã»ã¹ã§ accept äºåã« fork - ãã¡ã¤ã«ããã¯ã§ accept ãä¿è· äºåã« fork - Mutex ããã¯ã§ accept ãä¿è· (PTHREAD_PRO
JavaScriptãCSSãåçã«deflateå§ç¸®ããã®ã§ã¯ãªãããããããå§ç¸®ãã¦ããããã®ãé ä¿¡ãããã¨ã§ãµã¼ãã¼ã®CPUãªã½ã¼ã¹ãç¯ç´ãã prototype.jsã10KBã«ããæ¹æ³ãSafari 㨠gzip å§ç¸® JavaScriptãªã©ã§ãã§ã«è¿°ã¹ããã¦ããã¨ã§ãããmod_deflateã§ãªã¯ã¨ã¹ãããã度ã«ã¢ã»ããï¼CSSãJavaScriptï¼ã«deflateå§ç¸®ããããã®ã¯ãdeflateå¦çã軽ãããã¨è¨ã£ã¦ãã塵ãç©ããã°é¦¬é¹¿ã«ãªããªãï¼WWWãµã¼ãã¼ãAPãµã¼ãã¼ã«æ¬æ¥ä½¿ã£ã¦æ¬²ããCPUãªã½ã¼ã¹ãèãï¼è¨³ã§ãdeflateãããã¢ã»ããã«ã¯äºãgzipå§ç¸®ãã¦ãããé ä¿¡ãããµã¼ãã¼ã®CPUãªã½ã¼ã¹ã«åªããããã«ãã¾ããããã¨ããã話ã ä»åã¯ãäºãgzipå§ç¸®ããã¨ããä½æ¥ãèªååããããã«ãRailsã§ãã使ããããããã¤ãã¼ã«ã§ããCapistranoã
æ®éã®å¸¯åç¯ç´è¡ã¨ãã¦ã¯ãmod_deflateã§deflateå§ç¸®ããã¨ããCSSãJSãã¡ã¤ã«ã®HTTPã¬ã¹ãã³ã¹ãããã«Last-ModifiedãEtagã追å ãã¦ããã¦ããã©ã¦ã¶ãHTTPãªã¯ã¨ã¹ããããã«If-Modified-SinceãIf-None-Matchãä»å ããããã«ããã³ã³ãã³ããå¤æ´ããã¦ããªãã£ãã304 Not Modifiedãè¿ãã¨ããæ¹æ³ãåããã¨æãã¾ãã ããããHTTPãµã¼ãã¼ã¯ã³ã³ãã³ãã®æ°ã ã304 Not Modifiedãè¿ããªãã¨ãããªãããããã®å帯åãæ¶è²»ãã¾ãããã¾ãCSSãç»åãªã©ã®ãã¼ãã®304 Not Modifiedãè¿ã£ã¦ããã¾ã§ããã®ãã¼ãã®ã¬ã³ããªã³ã°ãè¡ããªãã¨ããåé¡ãããã¾ãï¼ã¤ã¾ãä½æé度ã«å½±é¿ãã¾ãï¼ã ä»åç´¹ä»ããã®ã¯ExpiresããããCache-Control: max-age=31536000ã
â [Rails] Railsåå¼·ä¼@æ±äº¬#18 åå: QueryCache / MMC å¾å: ä»ã ããããéç¨ç°å¢ãèãã ã«åå ã â åå: QueryCache / MMC QueryCache ã¨ã¯ãAR.find ã®çµæã memcached ãç¨ãã¦ãã£ãã·ã¥ãã pluginã(rakuto ä½) rakutoå¼ QueryCache ã®èª²é¡ with_scope ã©ãããï¼ memcache ã®ãã¼ åé¤æ¦ç¥ 1ã¯ãAR.find ã®å¼æ°ã ããè¦ã¦ãã£ãã·ã¥ã®ãã¼ãä½æãã¦ãããããwith_scope ã¨æ··ãããªå±éºã解決çã®1ã¤ã¯ããã£ãã·ã¥ããã¬ã¤ã¤ã¼ã select_xxx ã¾ã§å¼ãä¸ããããã¨ããããã㨠find_by_sql ã¾ã§å¯¾è±¡ã«å ¥ãã¨ããå¬ããå¯ä½ç¨ãããããã ãã®å ´åããã£ãã·ã¥ã®å¯¾è±¡ãåã¬ã¤ã¤ã¼ã«ããã¨ARãªãã¸ã§ã¯ãã§ãªãçã®çµæã»ããã«ãª
TheC10kProblem - ãC10Kåé¡ãï¼ã¯ã©ã¤ã¢ã³ã1ä¸å°åé¡ï¼ã¨ã¯ããã¼ãã¦ã§ã¢ã®æ§è½ä¸ã¯åé¡ããªãã¦ãããã¾ãã«ãã¯ã©ã¤ã¢ã³ãã®æ°ãå¤ããªãã¨ãµã¼ãããã³ã¯ããåé¡ã®ã㨠ç®æ¬¡ ãã®ææ¸ã«ã¤ã㦠C10K åé¡ é¢é£ãµã¤ã ã¾ãèªãã¹ãæ¬ I/O ãã¬ã¼ã ã¯ã¼ã¯ I/O æ¦ç¥ 1. åã¹ã¬ãããè¤æ°ã®ã¯ã©ã¤ã¢ã³ããåãä»ãã. ããã¦ãã³ããããã³ã° I/O 㨠ã¬ãã«ã»ããªã¬åã®å®äºéç¥ãå©ç¨ãã. ä¼çµ±ç㪠select() ä¼çµ±ç㪠poll() /dev/poll kqueue() 2. åã¹ã¬ãããè¤æ°ã®ã¯ã©ã¤ã¢ã³ããåãä»ãã. ããã¦ãã³ããããã³ã° I/O 㨠å¤æ´åã®å®äºéç¥(readiness change notification)ãå©ç¨ãã. kqueue() epoll ãªã¢ã«ã¿ã¤ã ã»ã·ã°ãã« fd åä½ã®ã·ã°ãã« (Signal-per-fd)
10å°ã®ãµã¼ããPingã§ç£è¦ããã°ã©ãã£ã«ã«ãªç®¡çãã¼ã«ãMultiPing Grapher ã¹ãã³ãµã¼ãããªã³ã¯ ã»MultiPing Grapher http://www.snapfiles.com/get/multipinggrapher.html 10å°ã¾ã§ã®ãµã¼ãã«Pingãéä¿¡ããåå¿é度ã並ã¹ã¦ã°ã©ã表示ã§ãããããã¯ã¼ã¯ç®¡çã½ããã¦ã§ã¢ã管çãã¦ãããµã¼ãã«ãä½ãç°å¸¸ããªããè¦å¼µãã®ã«ä¾¿å©ã§ããã並ã¹ã¦ã°ã©ã表示ã§ããã¤ã³ã¿ãã§ã¼ã¹ã¯ãåããããç°å¢ãªã®ã«ããã©ã¼ãã³ã¹ãæªããµã¼ããçºè¦ããã®ã«åãã¦ãããã ã èµ·åããåã«ãã½ããã¦ã§ã¢ã¨åããã©ã«ãã«ããhosts.txtã«ãç£è¦å¯¾è±¡ã®ãµã¼ãåã表示åãªã©ãæ¸ãã¦ããã ä¸ã®ç»é¢ã®ä¾ï¼ www.datasection.co.jp;DATASECTION test;1 www.metacast.co.jp;METACAS
ã¯ã¦ã㧠lighty ã®ããã°ããããã¨ãç¥ã£ã¦ããã°ãè¦ã¦ã¿ã¾ãããlighty ã®ä¸ã®äººãæ¸ãã¦ã¾ãã ãã³ããlighty 1.5 ç³»ã pre release ããã¦ããã§ã¯ããã¾ãããï¼ ãªãã§ãã1.5 系㯠ãã¾ã¾ã§ãã 80% ã®ã¹ã«ã¼ãããåä¸ãè¦è¾¼ããã¨æ¸ããã¦ãã¾ããæ¿éã® lighty ãæ´ã«é«éã«ãªãã£ã¦ããã§ãããΣ(ï¾Ðï¾ï¼ Using Async IO allows lighttpd it overlap file-operations. We send a IO-request for the file and get notified when it is ready. Instead of waiting for the file (as in the normal sendfile()) and blocking the server, we ca
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}