{"id":34764,"date":"2023-08-25T17:23:07","date_gmt":"2024-01-28T14:24:15","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/"},"modified":"2024-04-30T20:04:53","modified_gmt":"2024-04-30T12:04:53","slug":"%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/","title":{"rendered":"\u4e00\u6b3eSP\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55"},"content":{"rendered":"<h1>\u9996\u5148<\/h1>\n<p>\u3042\u308b\u7a3c\u50cd\u4e2d\u306e\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u30b2\u30fc\u30e0\u30a2\u30d7\u30ea\u3067\u6a5f\u80fd\u8ffd\u52a0\u30fb\u30c7\u30fc\u30bf\u5897\u52a0\u7b49\u306b\u3088\u308a\u660e\u308b\u307f\u306b\u51fa\u3066\u304d\u305f\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u3092\u89e3\u6d88\u3059\u308b\u4f5c\u696d\u3092\u884c\u3044\u307e\u3057\u305f\u3002<br \/>\n\u305d\u306e\u5bfe\u5fdc\u5185\u5bb9\u3092\u307e\u3068\u3081\u3066\u307f\u307e\u3057\u305f\u3002<br \/>\n\u65e2\u5b58\u30bd\u30fc\u30b9\u306b\u4e0d\u5177\u5408\u7684\u306a\u30b3\u30fc\u30c9\u304c\u3042\u3063\u305f\u306e\u3067\u30d7\u30ed\u30b0\u30e9\u30e0\u4fee\u6b63\u306e\u8a71\u3082\u542b\u307f\u307e\u3059\u3002<\/p>\n<h1>\u7b80\u8981\u6982\u62ec<\/h1>\n<p>\u30a2\u30d7\u30ea<br \/>\niOS\u3001Android\u306e\u30cd\u30a4\u30c6\u30a3\u30d6\u30a2\u30d7\u30ea\uff08\u307b\u3068\u3093\u3069\u304cWebview\u3067\u30da\u30fc\u30b8\u3092\u8868\u793a\u3059\u308b\u30d6\u30e9\u30a6\u30b6\u30a2\u30d7\u30ea\uff09<br \/>\n\u30ab\u30fc\u30c9\u30d0\u30c8\u30eb\u7cfb\u30b2\u30fc\u30e0\u3001GvG\u30d0\u30c8\u30eb\u3042\u308a<\/p>\n<p>\u30b5\u30fc\u30d0\u69cb\u6210<br \/>\n\u3056\u3063\u304f\u308a\u3067\u3059\u304c\u3053\u3093\u306a\u611f\u3058\uff08\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u5f8c\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3082\u542b\u3080\uff09<br \/>\n\u56f3\u306f\u3068\u308a\u3042\u3048\u305a\u66f8\u3044\u3066\u307f\u307e\u3057\u305f\u304c\u66f8\u304d\u65b9\u9593\u9055\u3063\u3066\u305f\u3089\u3059\u3044\u307e\u305b\u3093\u3002<\/p>\n<div>\n<div class=\"post-table\">\nVer\u5099\u8003PHP5.4EC2\u3001PHP-FPMFuelPHP1.8EC2MySQL5.6RDS\u3001\u30de\u30b9\u30bf\u7cfb\u30fb\u30d7\u30ec\u30a4\u30e4\u30fc\u7cfb\u306a\u3069\u8907\u6570\u30b5\u30fc\u30d0\u306b\u5206\u6563\u3055\u308c\u3066\u3044\u308bNginx1.10.2EC2Memcached1.4.15EC2\u3001\u30bb\u30c3\u30b7\u30e7\u30f3\u7528\u306b\u5916\u90e8Memcached\u3001DB\u30c7\u30fc\u30bf\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u7528\u306bWEB\u30b5\u30fc\u30d0\u306e\u30ed\u30fc\u30ab\u30ebMemcachedRedis2.8.19ElastiCache<\/div>\n<\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1f5337434c4406c1a25b\/6-0.png\" alt=\"Net.png\" \/><\/div>\n<p>WEB\u30b5\u30fc\u30d0\u304c\u901a\u5e3840\u53f0\u3067GvG\u30d0\u30c8\u30eb\u6642\u306f60\u53f0\u306b\u5897\u3084\u3059\u3068\u3044\u3046\u30b9\u30b1\u30fc\u30eb\u8a2d\u5b9a\u306b\u306a\u3063\u3066\u3044\u308b\u3002<br \/>\nCPU\u3082\u30e1\u30e2\u30ea\u3082\u4f7f\u7528\u7387\u9ad8\u304f\u306a\u3044\u306e\u306b\u30b5\u30fc\u30d0\u53f0\u6570\u5897\u3084\u3055\u306a\u3044\u3068\u30ec\u30b9\u30dd\u30f3\u30b9\u304c\u60aa\u304f\u306a\u308b\u3002<br \/>\nWEB\u30b5\u30fc\u30d0\uff1aCPU10%\u3050\u3089\u3044\u3001\u30e1\u30e2\u30ea10%\u3050\u3089\u3044<br \/>\nDB\u30b5\u30fc\u30d0\uff1aCPU10~20%\u3050\u3089\u3044\u3001\u30e1\u30e2\u30ea20%\u3050\u3089\u3044<br \/>\n\u3053\u308c\u4ee5\u4e0a\u30b5\u30fc\u30d0\u3092\u5897\u3084\u3057\u305f\u304f\u306a\u3044\u3057\u3001\u3067\u304d\u308c\u3070\u6e1b\u3089\u3057\u305f\u3044\u3002<\/p>\n<h1>\u7528\u4e8e\u8c03\u67e5\u7684\u5de5\u5177<\/h1>\n<p>New Relic<br \/>\nhttps:\/\/newrelic.com\/<br \/>\n\u3053\u308c\u3092WEB\u30b5\u30fc\u30d0\u306e\u3069\u308c\u304b1\u53f0\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304a\u304d\u307e\u3059\u3002<br \/>\n\u6700\u521d\u306e30\u65e5\u306f\u6709\u6599\u7248\u306e\u6a5f\u80fd\u3082\u4f7f\u3048\u308b\u306e\u3067\u305d\u306e\u671f\u9593\u3067\u4e00\u6c17\u306b\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u3092\u63a2\u308a\u307e\u3057\u305f\u3002<br \/>\nURL\u3054\u3068\u306b\u3069\u3093\u306a\u30e1\u30bd\u30c3\u30c9\u3084SQL\u304c\u4f55\u56de\u5b9f\u884c\u3055\u308c\u3066\u3044\u308b\u304b\u306a\u3069\u898b\u308c\u308b\u306e\u3067\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304c\u6357\u308a\u307e\u3059\u3002<br \/>\n\u7121\u6599\u3067\u4f7f\u3048\u308b\u6a5f\u80fd\u3060\u3051\u3067\u3082\u5272\u3068\u4f7f\u3048\u307e\u3059\u3002<\/p>\n<p>\u30a2\u30e9\u30fc\u30c8\u95be\u5024\uff08\u521d\u671f\u5024\uff09\u304c\u5c11\u3057\u9ad8\u3081\u306a\u306e\u3067\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u4e2d\u306f\u4f4e\u304f\u8a2d\u5b9a\u3057\u307e\u3057\u3087\u3046\u3002<br \/>\n\u305d\u3046\u3057\u306a\u3044\u3068\u91cd\u3044\u7b87\u6240\u3092\u7279\u5b9a\u3067\u304d\u306a\u3044\u306e\u3067\u2026\u3002<\/p>\n<p>ARM\u3000\u2192\u3000\u81ea\u5206\u3067\u8a2d\u5b9a\u3057\u305fAPP\u540d\u306e\u30ea\u30f3\u30af\u3000\u2192\u3000SETTINGS\uff1aApplication<br \/>\nApdex T\uff1a0.1\u306b\u8a2d\u5b9a<\/p>\n<p>\u6d4f\u89c8\u5668 \u2192 \u81ea\u5b9a\u4e49\u5e94\u7528\u540d\u79f0\u7684\u94fe\u63a5 \u2192 \u8bbe\u7f6e\uff1a\u5e94\u7528\u8bbe\u7f6e<br \/>\nApdex T\uff1a\u8bbe\u5b9a\u4e3a1<\/p>\n<p>\u203b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306b\u3088\u3063\u3066\u30d9\u30b9\u30c8\u306a\u5024\u3092\u8abf\u6574\u3057\u3066\u304f\u3060\u3055\u3044\u3002<br \/>\n\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u304c\u3042\u308b\u30b7\u30b9\u30c6\u30e0\u3067\u306f\u983b\u7e41\u306b\u9ec4\u8272\uff08Non Critical problem\uff09\u304b\u8d64\u8272\uff08Critical problem\uff09\u306b\u306a\u308b\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u305d\u308c\u3067\u3088\u3044\u3067\u3059\u3002<br \/>\n\u30b7\u30b9\u30c6\u30e0\u30aa\u30fc\u30eb\u30b0\u30ea\u30fc\u30f3\u306b\u306a\u308b\u3088\u3046\u306b\u76f4\u3057\u307e\u3057\u3087\u3046\u2026\u3002<\/p>\n<p>\u3053\u3053\u3067\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30a8\u30e9\u30fc\u3092\u898b\u308c\u307e\u3059\u3002<br \/>\nARM\u3000\u2192\u3000\u81ea\u5206\u3067\u8a2d\u5b9a\u3057\u305fAPP\u540d\u306e\u30ea\u30f3\u30af\u3000\u2192\u3000EVENTS\uff1aErrors<br \/>\n\u672c\u756a\u74b0\u5883\u3060\u3051\u767a\u751f\u3057\u3066\u3044\u308b\u3088\u3046\u306a\u30a8\u30e9\u30fc\u3092\u898b\u3064\u3051\u308b\u306e\u306b\u5f79\u7acb\u3064\u304b\u3082\u3002<\/p>\n<p>Linux \u6307\u4ee4<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>netstat <span class=\"nt\">-anp<\/span> | <span class=\"nb\">grep <\/span>TIME_WAIT | <span class=\"nb\">wc<\/span> <span class=\"nt\">-l<\/span>\r\n<span class=\"nv\">$ <\/span>ss <span class=\"nt\">-anp<\/span> | <span class=\"nb\">grep <\/span>TIME_WAIT | <span class=\"nb\">wc<\/span> <span class=\"nt\">-l<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>ab <span class=\"nt\">-l<\/span> <span class=\"nt\">-n<\/span> 10000 <span class=\"nt\">-c<\/span> 100\uff5e1000 http:\/\/xxx.xxx.xxx.xxx\/\r\n<\/code><\/pre>\n<h1>\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u3067\u304d\u308b\u306a\u3089\u3057\u3066\u304a\u304f<\/h1>\n<p>\u5b9f\u306f\u3053\u308c\u3042\u3089\u304b\u305f\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304c\u7d42\u308f\u3063\u3066\u3057\u307e\u3063\u305f\u5f8c\u306b\u3084\u308a\u307e\u3057\u305f\u3002<br \/>\n\u30b9\u30c6\u30fc\u30b8\u30f3\u30b0\u74b0\u5883\u3068\u540c\u3058\u30d0\u30fc\u30b8\u30e7\u30f3\u3068\u601d\u3063\u3066\u3044\u305f\u3089\u5168\u7136\u9055\u304b\u3063\u305f\u3068\u3044\u3046\u30aa\u30c1\u3067\u2026\u3002<\/p>\n<div>\n<div class=\"post-table\">\n\u5143\u306eVer\u66f4\u65b0\u3057\u305fVerFuelPHP1.61.8Nginx1.6.21.10.2Memcached1.4.131.4.15libevent\u30002.0.182.0.21<\/div>\n<\/div>\n<p>FuelPHP\u306f\u5909\u5316\u306a\u304b\u3063\u305f\u3067\u3059\u3051\u3069\u3001\u305d\u306e\u4ed6\u306fab\u30b3\u30de\u30f3\u30c9\u306e\u30c6\u30b9\u30c8\u7d50\u679c\u304c\u5c11\u3057\u3088\u304f\u306a\u308a\u307e\u3057\u305f\u3002<br \/>\n\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u3057\u3066\u3082\u554f\u984c\u306a\u3044\u30b7\u30b9\u30c6\u30e0\u306a\u3089\u307e\u305a\u6700\u65b0\u7248\u5165\u308c\u3066\u307f\u307e\u3057\u3087\u3046\u3002<br \/>\nFuelPHP\u306fPHP7\u3068\u30bb\u30c3\u30c8\u3067\u5165\u308c\u66ff\u3048\u3089\u308c\u308b\u306a\u3089\u3084\u308b\u4fa1\u5024\u3042\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<h1>\u5728\u4e2d\u6587\u4e2d\uff0c\u5f00\u53d1\u73af\u5883\u7684\u89c4\u683c\u8d8a\u4f4e\u8d8a\u597d\u3002<\/h1>\n<p>\u958b\u767a\u74b0\u5883\u306e\u30de\u30b7\u30f3\u30b9\u30da\u30c3\u30af\u306f\u5c11\u306a\u3044\u30a2\u30af\u30bb\u30b9\u3067\u3082\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u306b\u6c17\u3065\u3051\u308b\u3088\u3046\u306b\u306a\u308b\u3079\u304f\u4f4e\u3081\u306b\u69cb\u7bc9\u3059\u308b\u306e\u304c\u3088\u3044\u3068\u601d\u3044\u307e\u3059\u3002<br \/>\n\u305b\u3063\u304b\u304fNew Relic\u3092\u5c0e\u5165\u3057\u3066\u3082\u9ad8\u30b9\u30da\u30c3\u30af\u3059\u304e\u308b\u3068\u52d5\u4f5c\u304c\u901f\u304f\u3066\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u3092\u691c\u77e5\u3057\u3065\u3089\u304f\u306a\u308a\u307e\u3059\u3002<br \/>\n\u3053\u306e\u30b7\u30b9\u30c6\u30e0\u3067\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<br \/>\n\uff08\u4f4e\u3059\u304e\u308b\u3068\u52d5\u304b\u306a\u304f\u306a\u308b\u53ef\u80fd\u6027\u3082\u3042\u308b\u306e\u3067\u30b7\u30b9\u30c6\u30e0\u3054\u3068\u306b\u8981\u8abf\u6574\uff09<\/p>\n<p>\u5f00\u53d1\u73af\u5883<\/p>\n<div>\n<div class=\"post-table\">\u7a2e\u5225\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u53f0\u6570<br \/>\nWEBm1.medium1\u753b\u50cf\u3001css\u3001js\u3001\u30ed\u30fc\u30ab\u30ebMemcached\u3067DB\u30c7\u30fc\u30bf\u30ad\u30e3\u30c3\u30b7\u30e5\u3068PHP Session\u3092\u517c\u7528Redist2.small1<br \/>\nRDSdb.t1.micro1\u672c\u756a\u3067\u306f\u5206\u304b\u308c\u3066\u3044\u308bDB\u3082\u5168\u90e8\u307e\u3068\u3081\u30661\u53f0\u306b\u96c6\u7d04<\/div>\n<\/div>\n<p>\u751f\u4ea7\u73af\u5883<\/p>\n<div>\n<div class=\"post-table\">\u7a2e\u5225\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u53f0\u6570<br \/>\nWEBc3.2xlarge\u8907\u6570\u30ed\u30fc\u30ab\u30ebMemcached\u3067DB\u30c7\u30fc\u30bf\u30ad\u30e3\u30c3\u30b7\u30e5RedisElastiCache\uff08cache.m3.2xlarge\uff09\u8907\u6570<br \/>\nRDSdb.m3.2xlarge\u8907\u6570<br \/>\nMemcachedc3.2xlarge\u8907\u6570PHP SessionCloudFront<\/p>\n<p>\u753b\u50cf\u3001css\u3001js<\/p><\/div>\n<\/div>\n<p>New Relic\u306e\u95be\u5024\u3092\u4f4e\u3081\u306b\u8a2d\u5b9a\u3057\u3066\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u958b\u59cb\u3057\u305f\u969b\u306f\u5e38\u306b\u9ec4\u8272\u304b\u8d64\u8272\u306b\u306a\u3063\u3066\u307e\u3057\u305f\u3002<br \/>\n\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u5f8c\u306f\u5e38\u306b\u30aa\u30fc\u30eb\u30b0\u30ea\u30fc\u30f3\u306b\u306a\u3063\u3066\u307e\u3059\u3002<br \/>\n\u3042\u3048\u3066\u30ad\u30c4\u30a4\u74b0\u5883\u306b\u3057\u3066\u30d7\u30ed\u30b0\u30e9\u30e0\u6539\u4fee\u305b\u3056\u308b\u3092\u5f97\u306a\u3044\u72b6\u6cc1\u306b\u3059\u308b\u306e\u3082\u4e00\u3064\u306e\u624b\u304b\u3068\u601d\u3044\u307e\u3059\u2026\u3002<\/p>\n<h1>\u89e3\u51b3\u74f6\u9888\u95ee\u9898<\/h1>\n<p>\u3055\u3063\u305d\u304fNew Relic\u306e\u89e3\u6790\u30b0\u30e9\u30d5\u3092\u898b\u3066\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u3092\u63a2\u308a\u307e\u3059\u3002<br \/>\n\u3068\u3044\u3063\u3066\u3082\u8ca0\u8377\u304c\u304b\u304b\u3063\u3066\u3044\u308bURL\u304c\u4e0a\u4f4d\u306b\u8868\u793a\u3055\u308c\u308b\u3057\u3001\u8a73\u7d30\u3092\u898b\u308b\u3068\u8ca0\u8377\u304c\u304b\u304b\u3063\u3066\u3044\u308b\u30e1\u30bd\u30c3\u30c9\u306a\u3069\u304c\u8d64\u304f\u8868\u793a\u3055\u308c\u308b\u305f\u3081\u901f\u653b\u3067\u3042\u305f\u308a\u304c\u3064\u3051\u3089\u308c\u307e\u3059\u3002<br \/>\n\u3053\u308c\u304c\u306a\u3051\u308c\u3070\u7279\u5b9a\u3059\u308b\u306e\u306b\u3081\u3061\u3083\u304f\u3061\u3083\u6642\u9593\u304c\u304b\u304b\u308b\u3068\u601d\u3046\u3057\u672c\u5f53\u306b\u4fbf\u5229\u3067\u3059\u3002<br \/>\n\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3054\u3068\u306b\u5206\u3051\u3066\u66f8\u3044\u305f\u306e\u3067\u5bfe\u5fdc\u3057\u305f\u6642\u7cfb\u5217\u306f\u3050\u3061\u3083\u3050\u3061\u3083\u3067\u3059\u3002<\/p>\n<p>Redis\u3067\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u306b\u3064\u3044\u3066\u306f\u2193\u3053\u3061\u3089\u3067\u66f8\u304d\u307e\u3057\u305f\u3002<br \/>\n\u30ed\u30fc\u30ab\u30ebRedis\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u9ad8\u901f\u306b\u3059\u308b\uff08Linux+PHP+DB+Redis\uff09<\/p>\n<h2>\u5185\u5b58\u7f13\u5b58<\/h2>\n<h3>\u30ed\u30fc\u30ab\u30ebMemcached\u306b\u306fUNIX\u30c9\u30e1\u30a4\u30f3\u30bd\u30b1\u30c3\u30c8\u63a5\u7d9a<\/h3>\n<p>WEB\u30b5\u30fc\u30d0\u306e\u30ed\u30fc\u30ab\u30eb\u306bMemcached\u304c\u3042\u308b\u306e\u306f\u30a4\u30de\u30a4\u30c1\u306a\u6c17\u304c\u3057\u307e\u3057\u305f\u304c\u3001\u5916\u90e8Memcached\u306b\u3059\u308b\u3068\u4eca\u5ea6\u306f\u8ca0\u8377\u304c\u96c6\u4e2d\u3059\u308b\u306e\u304c\u6c17\u306b\u306a\u3063\u305f\u306e\u3067UNIX\u30c9\u30e1\u30a4\u30f3\u30bd\u30b1\u30c3\u30c8\u63a5\u7d9a\u3092\u8a66\u3057\u307e\u3057\u305f\u3002<br \/>\n\u3053\u308c\u304c\u7d50\u69cb\u901f\u304b\u3063\u305f\u306e\u3067\u7d50\u679c\u7684\u306b\u5916\u90e8Memcached\u306b\u3059\u308b\u3088\u308a\u826f\u3044\u65b9\u6cd5\u3060\u3063\u305f\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<br \/>\n\u307e\u305f\u5f8c\u8ff0\u3059\u308bTCP\u63a5\u7d9a\u306eTIME_WAIT\u554f\u984c\u3078\u306e\u5f71\u97ff\u30820\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>memcached <span class=\"nt\">-d<\/span> <span class=\"nt\">-u<\/span> memcached <span class=\"nt\">-m<\/span> 3072 <span class=\"nt\">-c<\/span> 65535 <span class=\"nt\">-P<\/span> \/var\/run\/memcached\/memcached-sock.pid\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>memcached <span class=\"nt\">-d<\/span> <span class=\"nt\">-u<\/span> memcached <span class=\"nt\">-m<\/span> 1024 <span class=\"nt\">-c<\/span> 65535 <span class=\"nt\">-P<\/span> \/var\/run\/memcached\/memcached-sock.pid <span class=\"nt\">-b<\/span> 2048 <span class=\"nt\">-U<\/span> 0 <span class=\"nt\">-C<\/span> <span class=\"nt\">-s<\/span> \/var\/run\/memcached\/memcached.sock\r\n<\/code><\/pre>\n<p>-m 1024\uff1a\u5143\u3005\u5272\u308a\u5f53\u3066\u308b\u91cf\u304c\u591a\u3059\u304e\u305f\u3002\u3067\u3082\u4e8b\u524d\u306b\u30e1\u30e2\u30ea\u78ba\u4fdd\u3059\u308b\u308f\u3051\u3058\u3083\u306a\u3044\u307f\u305f\u3044\u306a\u306e\u3067\u5927\u304d\u76ee\u3067\u3044\u3044\u306e\u304b\u3082\u2026<br \/>\n-C\uff1aCAS\u3092\u7121\u52b9\uff08\u3053\u306e\u30b7\u30b9\u30c6\u30e0\u3067\u306f\u4f7f\u3063\u3066\u3044\u306a\u3044\uff09<br \/>\n-U 0 \uff1aUDP\u3092\u7121\u52b9\uff08\u3082\u3057\u304b\u3059\u308b\u3068-s\u306e\u6642\u306f\u306a\u304f\u3066\u3082\u7121\u52b9\uff1f\uff09<br \/>\n-b 2048\uff1a\u30d0\u30c3\u30af\u30ed\u30b0\u30922048\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff1a1024\u3001\u30bd\u30b1\u30c3\u30c8\u306b\u3059\u308b\u306e\u3067\u5897\u3084\u3057\u3066\u307f\u305f\uff09<\/p>\n<p>\u203bMemcached\u30d7\u30ed\u30bb\u30b9\u306b\u306fTCP\u304bUNIX\u30c9\u30e1\u30a4\u30f3\u30bd\u30b1\u30c3\u30c8\u3069\u3061\u3089\u304b\uff11\u3064\u3057\u304b\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002<br \/>\n\u904b\u7528\u4e2d\u306e\u30b7\u30b9\u30c6\u30e0\u3067\u5207\u308a\u66ff\u3048\u308b\u6642\u306b\u306fTCP\u63a5\u7d9a\u306eMemcached\u3068UNIX\u30c9\u30e1\u30a4\u30f3\u30bd\u30b1\u30c3\u30c8\u63a5\u7d9a\u306eMemcached\u3092\u305d\u308c\u305e\u308c\u7acb\u3061\u4e0a\u3052\u3066\u304a\u3044\u3066\u3001UNIX\u30c9\u30e1\u30a4\u30f3\u30bd\u30b1\u30c3\u30c8\u63a5\u7d9a\u306b\u5207\u308a\u66ff\u3048\u305f\u30bd\u30fc\u30b9\u3092\u53cd\u6620\u3057\u3066\u304b\u3089TCP\u63a5\u7d9a\u306eMemcached\u3092\u843d\u3068\u3059\u3068\u3044\u3046\u3084\u308a\u65b9\u306b\u306a\u308b\u3068\u601d\u3044\u307e\u3059\u3002<br \/>\nPHP\u5074\u3067\u6301\u7d9a\u7684\u63a5\u7d9a\u3057\u3066\u3044\u308b\u5834\u5408\u306fWeb\u30b5\u30fc\u30d0\u3084PHP-FPM\u306e\u518d\u8d77\u52d5\u3082\u5fd8\u308c\u305a\u306b\u3002<br \/>\n\uff08\u518d\u8d77\u52d5\u304c\u96e3\u3057\u3044\u306a\u3089\u6301\u7d9a\u7684\u63a5\u7d9a\u306e\u30d1\u30e9\u30e1\u30fc\u30bfpersistent_id\u3092\u5909\u3048\u308b\uff09<\/p>\n<p>\u307e\u305fEC2\uff08\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb\u3067\u8d77\u52d5\uff09\u3067\u8a2d\u5b9a\u3057\u305f\u969b\u306b\u306f\u4f55\u6545\u304b.sock\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u8fbc\u307f\u6a29\u9650\u304c\u306a\u3044\u72b6\u614b\u3067Memcached\u304c\u8d77\u52d5\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002<br \/>\n\u3057\u3087\u3046\u304c\u306a\u3044\u306e\u3067\u8d77\u52d5\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u66f8\u304d\u8fbc\u307f\u6a29\u9650\u3064\u3051\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u2026\u3002<\/p>\n<h4>\u3068\u3053\u308d\u3067\u2026WEB\u30b5\u30fc\u30d0\u306e\u30ed\u30fc\u30ab\u30eb\u306bMemcached\uff1fAPCu\u3058\u3083\u30c0\u30e1\u306a\u306e\u304b\uff1f<\/h4>\n<p>\u3068\u3044\u3063\u305f\u3088\u3046\u306a\u30b3\u30e1\u30f3\u30c8\u304c\u67d0\u6240\u3067\u66f8\u304b\u308c\u3066\u3044\u305f\u306e\u3067\u3001\u3053\u3053\u306b\u8ffd\u8a18\u3002<br \/>\n\u5b9f\u306fAPCu\u306b\u5909\u66f4\u3059\u308b\u6848\u3082\u3042\u308a\u307e\u3057\u305f\u304c\u3001APCu\u306f\u30d0\u30c3\u30c1\u51e6\u7406\uff08CLI\uff09\u3067\u306f\u307b\u307c\u4f7f\u3048\u307e\u305b\u3093\u3002<br \/>\n\u78ba\u304bCLI\u3067\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067APCu\u304cOFF\u306b\u306a\u3063\u3066\u307e\u3059\u3002<br \/>\n\u307e\u305fON\u306b\u3057\u305f\u3068\u3053\u308d\u3067\u51e6\u7406\u304c\u7d42\u4e86\u3059\u308b\u3068\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u89e3\u653e\u3055\u308c\u3066\u3057\u307e\u3046\u306e\u3067\u3001CLI\u3067\u3082\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u5171\u6709\u3057\u305f\u3044\u306a\u3089Memcached\u3084Redis\u306a\u3069\u5225\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u4f7f\u3046\u3057\u304b\u306a\u3044\u3068\u601d\u3044\u307e\u3059\u3002<br \/>\n\u3053\u306e\u30b7\u30b9\u30c6\u30e0\u3067\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u306a\u3044\u3068\u30d0\u30c3\u30c1\u51e6\u7406\u304c\u304b\u306a\u308a\u9045\u304f\u306a\u3063\u3066\u3057\u307e\u3046\u306e\u3067\u3001\u3082\u3068\u3082\u3068\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3042\u3063\u305fMemcached\u306e\u8a2d\u5b9a\u3092\u8abf\u6574\u3057\u3066\u4f7f\u3046\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<br \/>\n\u3042\u3068\u306fmemcached-tool\u307f\u305f\u3044\u306b\u30b3\u30de\u30f3\u30c9or\u30c4\u30fc\u30eb\u985e\u304c\u3042\u308b\u3068\u30c7\u30d0\u30c3\u30b0\uff06\u8abf\u67fb\u306b\u4fbf\u5229\u3067\u3059\u306d\u3002<\/p>\n<h3>\u6c38\u4e45\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u6b62\u3081\u308b<\/h3>\n<p>New Relic\u306e\u89e3\u6790\u3092\u898b\u3066\u3044\u3066\u4e00\u5b9a\u6642\u9593\u7d4c\u904e\u3059\u308b\u3068\u6bb5\u3005\u6027\u80fd\u304c\u52a3\u5316\u3057\u3066\u3044\u304f\u3088\u3046\u306a\u30b0\u30e9\u30d5\u304c\u51fa\u307e\u3057\u305f\u3002<br \/>\n\u3069\u3046\u3082\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u4e00\u5b9a\u91cf\uff08KEY\u306e\u6570\uff1f\u30c7\u30fc\u30bf\u5bb9\u91cf\uff1f\uff09\u5897\u3048\u308b\u3068\u6027\u80fd\u304c\u52a3\u5316\u3059\u308b\u3088\u3046\u3067\u3059\u3002<br \/>\n\u3044\u308d\u3044\u308d\u8a66\u3057\u3066\u307f\u3066\u3053\u306e\u30b7\u30b9\u30c6\u30e0\u3067\u306f1\u6642\u9593\u3050\u3089\u3044\u306b\u8a2d\u5b9a\u3059\u308b\u306e\u304c\u826f\u3055\u305d\u3046\u3060\u3063\u305f\u306e\u3067\u3001\u5168\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u6709\u52b9\u671f\u9650\u30921\u6642\u9593\u4ee5\u4e0b\u306b\u306a\u308b\u3088\u3046\u306b\u8abf\u6574\u3057\u307e\u3057\u305f\u3002<br \/>\n\u3053\u308c\u3067Memcached\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u304c\u5b89\u5b9a\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u5bfe\u7b56\u524d<br \/>\n\u30ec\u30b9\u30dd\u30f3\u30b9\u30bf\u30a4\u30e0\u304c5\uff5e20ms\u3050\u3089\u3044\u3067\u6642\u9593\u304c\u7d4c\u3064\u306b\u3064\u308c\u3066\u6bb5\u3005\u5897\u3048\u3066\u3044\u304f\u3002<br \/>\n\u6700\u5927\u3067200ms\uff5e400ms\u3050\u3089\u3044\u307e\u3067\u5897\u3048\u3066\u3044\u305f\u3002<br \/>\n\uff08\u6bce\u65e50\u6642\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u30af\u30ea\u30a2\u3055\u308c\u3066\u3044\u305f\u306e\u3067\u3053\u306e\u304f\u3089\u3044\u3067\u6e08\u3093\u3067\u3044\u305f\u306e\u304b\u3082\uff09<br \/>\n\u30ad\u30e3\u30c3\u30b7\u30e5\u30af\u30ea\u30a2\u3059\u308b\u30685\uff5e20ms\u3050\u3089\u3044\u306b\u623b\u308b\u3002<\/p>\n<p>\u5bf9\u7b56\u540e\uff0c\u65f6\u95f4\u54cd\u5e94\u57285\u523020\u6beb\u79d2\u5de6\u53f3\uff0c\u968f\u7740\u65f6\u95f4\u7684\u63a8\u79fb\u9010\u6e10\u589e\u52a0\uff0c\u4f46\u6700\u5927\u7a33\u5b9a\u572840\u523050\u6beb\u79d2\u5de6\u53f3\u3002<\/p>\n<p>\u8fd9\u662fNew Relic\u76841\u5206\u949f\u6570\u503c\uff0c\u800c\u4e0d\u662f\u4e00\u4e2a\u7535\u8bdd\u547c\u53eb\u3002<\/p>\n<h3>\u4f7f\u7528ORM\u5b9e\u73b0\u7684\u5927\u91cfSELECT\u7f13\u5b58<\/h3>\n<p>\u57fa\u672c\u7684\u306b\u30de\u30b9\u30bf\u7cfbDB\u306eSELECT\u7d50\u679c\u3092Memcached\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u3057\u30012\u56de\u76ee\u304b\u3089\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u898b\u308b\u8a2d\u8a08\u3067\u3057\u305f\u3002<br \/>\n\u30eb\u30fc\u30d7\u3067\u4f55\u5ea6\u30821\u30ec\u30b3\u30fc\u30c9SELECT\u3059\u308b\u3068\u3044\u3046\u51e6\u7406\u304c\u7d50\u69cb\u3042\u308a\u3001\u76f4\u63a5DB\u53c2\u7167\u3057\u305f\u65b9\u304c\u901f\u3044\u306e\u3067\u306f\u306a\u3044\u304b\u3068\u3044\u3046\u3050\u3089\u3044\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u8aad\u307f\u307e\u304f\u3063\u3066\u308b\u5834\u5408\u3082\u3002<br \/>\n\u4f55\u3067\u3082\u30ad\u30e3\u30c3\u30b7\u30e5\u3059\u308c\u3070\u3044\u3044\u3063\u3066\u3082\u3093\u3058\u3083\u306a\u3044\uff01\u3068\u3044\u3046\u306e\u304c\u826f\u304f\u308f\u304b\u308b\u4f8b\u3067\u3057\u305f\u3002<\/p>\n<p>\u6211\u4f1a\u5c1d\u8bd5\u5c06\u53d8\u91cf\u7f13\u5b58\u653e\u5165\u4e00\u4e2a\u53ef\u4ee5\u591a\u6b21\u8c03\u7528\u5e76\u8fd4\u56de\u76f8\u540c\u7ed3\u679c\u7684\u65b9\u6cd5\u4e2d\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">static<\/span> <span class=\"nv\">$_cache<\/span> <span class=\"o\">=<\/span> <span class=\"k\">array<\/span><span class=\"p\">();<\/span>\r\n<span class=\"k\">function<\/span> <span class=\"n\">select<\/span><span class=\"p\">(<\/span><span class=\"nv\">$x<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"nv\">$cacheKey<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">'prefix_'<\/span><span class=\"mf\">.<\/span><span class=\"nv\">$x<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"k\">isset<\/span><span class=\"p\">(<\/span><span class=\"k\">self<\/span><span class=\"o\">::<\/span><span class=\"nv\">$_cache<\/span><span class=\"p\">[<\/span><span class=\"nv\">$cacheKey<\/span><span class=\"p\">]))<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"nv\">$result<\/span> <span class=\"o\">=<\/span> <span class=\"k\">self<\/span><span class=\"o\">::<\/span><span class=\"nv\">$_cache<\/span><span class=\"p\">[<\/span><span class=\"nv\">$cacheKey<\/span><span class=\"p\">];<\/span>\r\n    <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"nv\">$cache<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"err\">\\<\/span><span class=\"nf\">Memcached<\/span><span class=\"p\">(<\/span><span class=\"s1\">'dbcache_pool'<\/span><span class=\"p\">);<\/span>\r\n        <span class=\"k\">try<\/span><span class=\"p\">{<\/span>\r\n            <span class=\"nv\">$result<\/span> <span class=\"o\">=<\/span> <span class=\"nv\">$cache<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">get<\/span><span class=\"p\">(<\/span><span class=\"nv\">$cacheKey<\/span><span class=\"p\">);<\/span>\r\n        <span class=\"p\">}<\/span><span class=\"k\">catch<\/span><span class=\"p\">(<\/span><span class=\"err\">\\<\/span><span class=\"nc\">CacheNotFoundException<\/span> <span class=\"nv\">$e<\/span><span class=\"p\">){<\/span>\r\n            <span class=\"nv\">$result<\/span><span class=\"o\">=<\/span> <span class=\"kc\">NULL<\/span><span class=\"p\">;<\/span>\r\n            <span class=\"nv\">$sql<\/span> <span class=\"o\">=<\/span> <span class=\"err\">\\<\/span><span class=\"nc\">Db<\/span><span class=\"o\">::<\/span><span class=\"nf\">select<\/span><span class=\"p\">()<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">from<\/span><span class=\"p\">(<\/span><span class=\"n\">xxxx<\/span><span class=\"p\">)<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">where<\/span><span class=\"p\">(<\/span><span class=\"n\">xxxx<\/span><span class=\"p\">);<\/span>\r\n            <span class=\"nv\">$row<\/span> <span class=\"o\">=<\/span> <span class=\"nv\">$sql<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">execute<\/span><span class=\"p\">()<\/span><span class=\"o\">-&gt;<\/span><span class=\"nb\">current<\/span><span class=\"p\">();<\/span>\r\n            <span class=\"k\">if<\/span><span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"nb\">empty<\/span><span class=\"p\">(<\/span><span class=\"nv\">$row<\/span><span class=\"p\">))<\/span> <span class=\"p\">{<\/span>\r\n                <span class=\"nv\">$result<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">Model_Db_Data_xxxx<\/span><span class=\"p\">();<\/span>\r\n                <span class=\"nv\">$result<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">setRow<\/span><span class=\"p\">(<\/span><span class=\"nv\">$row<\/span><span class=\"p\">);<\/span>\r\n            <span class=\"p\">}<\/span>\r\n            <span class=\"nv\">$cache<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">add<\/span><span class=\"p\">(<\/span><span class=\"nv\">$cacheKey<\/span><span class=\"p\">,<\/span> <span class=\"nv\">$result<\/span><span class=\"p\">);<\/span>\r\n            <span class=\"k\">self<\/span><span class=\"o\">::<\/span><span class=\"nv\">$_cache<\/span><span class=\"p\">[<\/span><span class=\"nv\">$cacheKey<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nv\">$result<\/span><span class=\"p\">;<\/span>\r\n        <span class=\"p\">}<\/span>\r\n    <span class=\"p\">}<\/span>\r\n    <span class=\"k\">return<\/span> <span class=\"nv\">$result<\/span><span class=\"p\">;<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u203b\u4e0a\u306e\u4f8b\u3067\u306f\u76f4\u63a5Memcached\u3092\u547c\u3073\u51fa\u3057\u3066\u3044\u307e\u3059\u304c\u5b9f\u969b\u306b\u306fMemcache\u7ba1\u7406\u7528\u306e\u72ec\u81ea\u30af\u30e9\u30b9\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002<br \/>\n\u3053\u308c\u304c\u5730\u5473\u3067\u78ba\u5b9f\u306b\u52b9\u679c\u3042\u308a\u307e\u3059\u3002\u4f55\u5ea6\u3082\u540c\u3058\u51e6\u7406\u3092\u547c\u3073\u51fa\u3057\u3066\u307e\u3059\u304b\u3089\u306d\u3002<br \/>\n\u3064\u3044\u3067\u306b\u30de\u30b9\u30bf\u7cfb\u30c7\u30fc\u30bf\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u4e0a\u66f8\u304d\u3059\u308b\u5fc5\u8981\u304c\u306a\u3044\u306e\u3067Memcached::set()\u304b\u3089Memcached::add()\u306b\u5909\u66f4\u3057\u307e\u3057\u305f\u3002<br \/>\n\u7121\u99c4\u306bset\u3057\u76f4\u3055\u306a\u3044\u3088\u3046\u306b\u3068\u3044\u3046\u610f\u56f3\u3067\u3057\u305f\u304c\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u3057\u3087\u3046\u3082\u306a\u3044\u51e6\u7406\u3082\u767a\u898b\u3057\u3066\u304f\u308c\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$cache<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"err\">\\<\/span><span class=\"nf\">Memcached<\/span><span class=\"p\">(<\/span><span class=\"s1\">'dbcache_pool'<\/span><span class=\"p\">);<\/span>\r\n<span class=\"nv\">$sql<\/span> <span class=\"o\">=<\/span> <span class=\"err\">\\<\/span><span class=\"nc\">Db<\/span><span class=\"o\">::<\/span><span class=\"nf\">select<\/span><span class=\"p\">()<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">from<\/span><span class=\"p\">(<\/span><span class=\"n\">xxxx<\/span><span class=\"p\">)<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">where<\/span><span class=\"p\">(<\/span><span class=\"n\">xxxx<\/span><span class=\"p\">);<\/span>\r\n<span class=\"nv\">$rows<\/span> <span class=\"o\">=<\/span> <span class=\"nv\">$sql<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">execute<\/span><span class=\"p\">()<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">as_array<\/span><span class=\"p\">();<\/span>\r\n<span class=\"k\">if<\/span><span class=\"p\">(<\/span><span class=\"o\">!<\/span><span class=\"nb\">empty<\/span><span class=\"p\">(<\/span><span class=\"nv\">$row<\/span><span class=\"p\">))<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">foreach<\/span> <span class=\"p\">(<\/span><span class=\"nv\">$rows<\/span> <span class=\"k\">as<\/span> <span class=\"nv\">$row<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"nv\">$tmp<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">Model_Db_Data_xxxx<\/span><span class=\"p\">();<\/span>\r\n        <span class=\"nv\">$tmp<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">setRow<\/span><span class=\"p\">(<\/span><span class=\"nv\">$row<\/span><span class=\"p\">);<\/span>\r\n        <span class=\"nv\">$result<\/span><span class=\"p\">[]<\/span> <span class=\"o\">=<\/span> <span class=\"nv\">$tmp<\/span><span class=\"p\">;<\/span>\r\n        <span class=\"nv\">$cache<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">set<\/span><span class=\"p\">(<\/span><span class=\"nv\">$cacheKey<\/span><span class=\"p\">,<\/span> <span class=\"nv\">$result<\/span><span class=\"p\">);<\/span>  <span class=\"c1\">\/\/ \u3053\u306e\u4e2d\u304cMemcached::set\u3060\u3068\u7d50\u679c\u304c\u6b63\u3057\u304f\u306a\u3063\u3066\u3057\u307e\u3046<\/span>\r\n    <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u5b9f\u969b\u306b\u306f$cache\u304c\u72ec\u81ea\u30af\u30e9\u30b9\u306b\u306a\u3063\u3066\u307e\u3057\u3066$cache-&gt;set()\u306e\u5185\u90e8\u51e6\u7406\u3092Memcached::set()\u304b\u3089Memcached::add()\u306b\u7f6e\u304d\u63db\u3048\u307e\u3057\u305f\u3002<br \/>\n\u5143\u306e\u51e6\u7406\u306f\u5408\u3063\u3066\u3044\u308b\u524d\u63d0\u3067\u898b\u3066\u306a\u304b\u3063\u305f\u306e\u3067\u6c17\u3065\u304b\u306a\u3044\u3093\u3067\u3059\u3088\u306d\u2026\u3002<br \/>\n\u3053\u3046\u3044\u3063\u305f\u30ad\u30e3\u30c3\u30b7\u30e5\u81ea\u7206\u304c\u30bf\u30af\u30b5\u30f3\u30a2\u30c3\u30bf\u30ce\u30c7\u30b9\u3002<\/p>\n<h3>\u6709\u5f88\u591a\u83b7\u53d6\u4fe1\u7528\u5361\u4fe1\u606f\u7684\u60c5\u51b5<\/h3>\n<p>\u4e0a\u3067\u66f8\u3044\u305f\u901a\u308a\u30c7\u30fc\u30bf1\u4ef6\u3054\u3068\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u3066\u3044\u3066\u3001\u30ab\u30fc\u30c9\u679a\u6570\u5206\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u53d6\u5f97\u304c\u8d70\u3063\u3066\u3044\u307e\u3057\u305f\u3002<br \/>\n\u3053\u3046\u3044\u3063\u305f\u3082\u306e\u304c\u591a\u6570\u3042\u308a\u51e6\u7406\u52b9\u7387\u304c\u60aa\u304f\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002<br \/>\nRedis\uff08Memcached\u3067\u3082\u53ef\uff09\u306b\u4e88\u3081\u30d0\u30c3\u30c1\u51e6\u7406\u3067\uff11\u4ef6\u305a\u3064\u30de\u30b9\u30bf\u30c7\u30fc\u30bf\u3092\u30ad\u30e3\u30c3\u30b7\u30e5\u3057\u3066\u304a\u304d\u30011\u56de\u3067\u8907\u6570\u30ab\u30fc\u30c9\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u53d6\u5f97\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">function<\/span> <span class=\"n\">mget<\/span><span class=\"p\">(<\/span><span class=\"nv\">$keys<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"nv\">$redis<\/span> <span class=\"o\">=<\/span> <span class=\"err\">\\<\/span><span class=\"nc\">Redis<\/span><span class=\"o\">::<\/span><span class=\"nf\">forge<\/span><span class=\"p\">(<\/span><span class=\"s1\">'name'<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"nv\">$redis<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">pipeline<\/span><span class=\"p\">();<\/span>\r\n    <span class=\"k\">foreach<\/span> <span class=\"p\">(<\/span><span class=\"nv\">$keys<\/span> <span class=\"k\">as<\/span> <span class=\"nv\">$key<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"nv\">$redis<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">get<\/span><span class=\"p\">(<\/span><span class=\"nv\">$key<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"p\">}<\/span>\r\n    <span class=\"k\">return<\/span> <span class=\"nv\">$redis<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">execute<\/span><span class=\"p\">();<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>pipeline\u3067\u4e00\u6c17\u306b\u8907\u6570key\u3092\u9001\u308b\u306e\u3067\u52b9\u7387\u304c\u3088\u304f\u306a\u308a\u307e\u3059\u3002<br \/>\nMemcached\u306a\u3089Memcached::getMulti()\u3092\u4f7f\u3048\u3070\u540c\u3058\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<h3>\u30c7\u30c3\u30ad\u306e\u30c7\u30fc\u30bf\u53d6\u5f97\u304c\u91cd\u3044<\/h3>\n<p>\u30c7\u30c3\u30ad\u7de8\u6210\u753b\u9762\u3067\u5168\u30c7\u30c3\u30ad\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3066\u3044\u308b\u305f\u3081\u91cd\u304f\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002<br \/>\n\u53d6\u5f97\u3059\u308b\u30c7\u30fc\u30bf\u3092\u524a\u308b\u3053\u3068\u304c\u3067\u304d\u306a\u3044\u305f\u3081\u3001Redis\u306b\u30c7\u30c3\u30ad\u30c7\u30fc\u30bf\u3092gzip\u5727\u7e2e\u3057\u3066\u30ad\u30e3\u30c3\u30b7\u30e5\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002<br \/>\n1\u56de\u76ee\u306f\u9045\u3044\u307e\u307e\u3067\u3059\u304c\u30012\u56de\u76ee\u4ee5\u964d\u306f\u304b\u306a\u308a\u901f\u304f\u306a\u308a\u307e\u3059\u3002<br \/>\nGvG\u30d0\u30c8\u30eb\u3067\u306f\u9078\u629e\u3057\u305f\u30c7\u30c3\u30ad\u5358\u4f53\u3067\u6226\u3046\u306e\u3067\u30c7\u30c3\u30ad\u5358\u4f4d\u3067\u30ad\u30e3\u30c3\u30b7\u30e5\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\n\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u6709\u52b9\u671f\u9650\u306f\u9577\u3081\u306b\u8a2d\u5b9a\u3057\u3066\u304a\u304d\u307e\u3059\u3002<br \/>\n\u30c7\u30c3\u30ad\u7de8\u6210\u3057\u305f\u308a\u3001\u30c7\u30c3\u30ad\u306b\u3042\u308b\u30ab\u30fc\u30c9\u306e\u30c7\u30fc\u30bf\u304c\u30ec\u30d9\u30eb\u30a2\u30c3\u30d7\u306a\u3069\u3067\u5909\u308f\u3063\u305f\u3089\u30ad\u30e3\u30c3\u30b7\u30e5\u30af\u30ea\u30a2\u3057\u307e\u3059\u3002<\/p>\n<p>\u5982\u679c\u6570\u636e\u83b7\u53d6\u6bd4\u6570\u636e\u66f4\u65b0\u66f4\u9891\u7e41\uff0c\u90a3\u4e48\u4f1a\u6709\u6548\u679c\u3002<\/p>\n<h2>FuelPHP<\/h2>\n<h3>\u7f13\u5b58\u5904\u7406\u6548\u7387\u4f4e\u4e0b<\/h3>\n<p>\u30ad\u30e3\u30c3\u30b7\u30e5\u30af\u30e9\u30b9\u304c\u30c7\u30fc\u30bf\u53d6\u5f97\u3067Memcached::get() 2\u56de\u3001\u30c7\u30fc\u30bf\u4fdd\u5b58\u3067Memcached::set() 2\u56de\u5b9f\u884c\u3055\u308c\u308b\u3088\u3046\u306a\u5b9f\u88c5\u306b\u306a\u3063\u3066\u3044\u3066\u8ca0\u8377\u304c\u4e0a\u304c\u3063\u3066\u3044\u307e\u3057\u305f\u3002<br \/>\n1\u56de\u305a\u3064\u306b\u306a\u308b\u3088\u3046\u306b\u72ec\u81ea\u51e6\u7406\u306b\u7f6e\u304d\u5909\u3048\u307e\u3057\u305f\u3002<br \/>\n\u6539\u4fee\u3064\u3044\u3067\u306b\u6301\u7d9a\u7684\u63a5\u7d9a\u3001\u30d0\u30a4\u30ca\u30ea\u30d7\u30ed\u30c8\u30b3\u30eb\u306a\u3069\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u52a0\u3048\u307e\u3057\u305f\u3002<br \/>\n\uff08\u6301\u7d9a\u7684\u63a5\u7d9a\u306f\u5143\u304b\u3089\u3042\u3063\u305f\u304b\u306a\uff09<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$cacheServers<\/span> <span class=\"o\">=<\/span> <span class=\"k\">array<\/span><span class=\"p\">(<\/span>\r\n  <span class=\"k\">array<\/span><span class=\"p\">(<\/span><span class=\"s1\">'host'<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s1\">'xxx.xxx.xxx.xxx'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'port'<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"mi\">11211<\/span><span class=\"p\">),<\/span>\r\n  <span class=\"k\">array<\/span><span class=\"p\">(<\/span><span class=\"s1\">'host'<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s1\">'xxx.xxx.xxx.xxx'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'port'<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"mi\">11211<\/span><span class=\"p\">),<\/span>\r\n<span class=\"p\">);<\/span>\r\n<span class=\"k\">static<\/span> <span class=\"nv\">$_memcached<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"err\">\\<\/span><span class=\"nf\">Memcached<\/span><span class=\"p\">(<\/span><span class=\"s1\">'dbcache_pool'<\/span><span class=\"p\">);<\/span>\r\n<span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nb\">count<\/span><span class=\"p\">(<\/span><span class=\"k\">static<\/span><span class=\"o\">::<\/span><span class=\"nv\">$_memcached<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">getServerList<\/span><span class=\"p\">())<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"k\">static<\/span><span class=\"o\">::<\/span><span class=\"nv\">$_memcached<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">addServers<\/span><span class=\"p\">(<\/span><span class=\"nv\">$cacheServers<\/span><span class=\"p\">);<\/span>\r\n    <span class=\"k\">static<\/span><span class=\"o\">::<\/span><span class=\"nv\">$_memcached<\/span><span class=\"o\">-&gt;<\/span><span class=\"nf\">setOptions<\/span><span class=\"p\">(<\/span><span class=\"k\">array<\/span><span class=\"p\">(<\/span>\r\n        <span class=\"err\">\\<\/span><span class=\"nc\">Memcached<\/span><span class=\"o\">::<\/span><span class=\"no\">OPT_BINARY_PROTOCOL<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"kc\">true<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"err\">\\<\/span><span class=\"nc\">Memcached<\/span><span class=\"o\">::<\/span><span class=\"no\">OPT_DISTRIBUTION<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"err\">\\<\/span><span class=\"nc\">Memcached<\/span><span class=\"o\">::<\/span><span class=\"no\">DISTRIBUTION_CONSISTENT<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"err\">\\<\/span><span class=\"nc\">Memcached<\/span><span class=\"o\">::<\/span><span class=\"no\">OPT_LIBKETAMA_COMPATIBLE<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"kc\">true<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"err\">\\<\/span><span class=\"nc\">Memcached<\/span><span class=\"o\">::<\/span><span class=\"no\">OPT_SERVER_FAILURE_LIMIT<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"mi\">3<\/span><span class=\"p\">,<\/span>\r\n    <span class=\"p\">));<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<h3>\u5728\u4f1a\u8bdd\u5904\u7406\u4e2d\u672a\u4f7f\u7528\u6301\u4e45\u8fde\u63a5\u3002<\/h3>\n<p>\u30bb\u30c3\u30b7\u30e7\u30f3\u30af\u30e9\u30b9\u3067\u306fMemcached\u304c\u6301\u7d9a\u7684\u63a5\u7d9a\u306b\u306a\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\u3002<br \/>\n\u3053\u3061\u3089\u3082\u30ad\u30e3\u30c3\u30b7\u30e5\u51e6\u7406\u3068\u540c\u3058\u3088\u3046\u306b\u6301\u7d9a\u7684\u63a5\u7d9a\u3001\u30d0\u30a4\u30ca\u30ea\u30d7\u30ed\u30c8\u30b3\u30eb\u306e\u5bfe\u5fdc\u3092\u3057\u307e\u3057\u305f\u3002<br \/>\n\u305f\u307e\u306b\u63a5\u7d9a\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u304c\u767a\u751f\u3057\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u6301\u7d9a\u7684\u63a5\u7d9a\u306b\u3057\u305f\u5f8c\u306f\u767a\u751f\u3057\u3066\u3044\u307e\u305b\u3093\u3002<br \/>\n\u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u5916\u90e8Memcached\u3060\u3063\u305f\u306e\u3067\u3088\u308a\u52b9\u679c\u304c\u5927\u304d\u304b\u3063\u305f\u3067\u3059\u306d\u3002<br \/>\n\u30ec\u30b9\u30dd\u30f3\u30b9\u304c1.5~2\u500d\u3050\u3089\u3044\u901f\u304f\u306a\u3063\u305f\u3068\u601d\u3044\u307e\u3059\u3002<br \/>\n\u203b\u63a5\u7d9a\u304c\u6ea2\u308c\u306a\u3044\u3088\u3046\u306bMemcached\u306e\u8a2d\u5b9a\u306b\u6ce8\u610f\uff08WEB\u30b5\u30fc\u30d0\u53f0\u6570 * PHP-FPM\u30d7\u30ed\u30bb\u30b9\u6570\uff09<\/p>\n<h3>Agent\u7c7b\u5f88\u91cd\u3002<\/h3>\n<p>FuelPHP\u7684Agent\u7c7b\uff08\u7528\u4e8e\u83b7\u53d6\u6d4f\u89c8\u5668\u4fe1\u606f\u7684\u5904\u7406\uff09\u975e\u5e38\u91cd\u3002<br \/>\n\u867d\u7136\u5df2\u7ecf\u91c7\u53d6\u4e86\u4e00\u4e9b\u63aa\u65bd\uff0c\u5728Redis\u4e2d\u8fdb\u884c\u7f13\u5b58\uff0c\u4f46\u4e3a\u4e86\u907f\u514d\u6bcf\u6b21\u90fd\u8981\u8fdb\u884c\u5916\u90e8\u8fde\u63a5\uff0c\u6211\u4f7f\u7528\u4e86\u540d\u4e3aCrossjoin\/Browscap\u7684\u5e93\u6765\u66ff\u6362\u5904\u7406\u3002<br \/>\n\u867d\u7136\u6bcf\u6b21\u90fd\u8fdb\u884c\u5904\u7406\u800c\u4e0d\u8fdb\u884c\u7f13\u5b58\uff0c\u4f46\u901f\u5ea6\u5f88\u5feb\u3002<br \/>\n\u5728\u4f7f\u7528\u4e4b\u524d\uff0c\u9700\u8981\u4e0b\u8f7d\uff08\u5e76\u5b9a\u671f\u66f4\u65b0\uff09browscap.ini\u6587\u4ef6\u3002<br \/>\n\u53ef\u4ee5\u521b\u5efa\u6279\u5904\u7406\u5e76\u901a\u8fc7cron\u8fdb\u884c\u8bbe\u7f6e\u3002<\/p>\n<p>\u53c2\u8003\uff1a\u3010\u6539\u7248\u3011FuelPHP\u7684Agent\u7c7b\u5b58\u5728\u91cd\u5927\u95ee\u9898\u548c\u4e34\u65f6\u89e3\u51b3\u65b9\u6848\u3002<\/p>\n<h3>\u8907\u6570\u540c\u6642INSERT\u306fBULK INSERT\u3059\u308b<\/h3>\n<p>\u7279\u306b10~30\u30ec\u30b3\u30fc\u30c9\u306eINSERT\u30921\u30ec\u30b3\u30fc\u30c9\u305a\u3064INSERT\u3057\u3066\u3044\u308b\u7b87\u6240\u304c\u591a\u3005\u3042\u3063\u305f\u306e\u3067\u3001\u3053\u308c\u3092BULK INSERT\u306b\u5909\u3048\u307e\u3057\u305f\u3002<br \/>\n\u30e6\u30fc\u30b6\u30fc\u3054\u3068\u306b\u767a\u751f\u3059\u308b\u3082\u306e\u3060\u3063\u305f\u306e\u3067\u304b\u306a\u308a\u901f\u304f\u306a\u3063\u305f\u3068\u601d\u3044\u307e\u3059\u3002<br \/>\n\u306a\u304aBULK INSERT\u3059\u308b\u969b\u306fINDEX\u306e\u9806\u306b\u306a\u308b\u3088\u3046\u306b\u30bd\u30fc\u30c8\u3057\u3066\u304b\u3089\u7a81\u3063\u8fbc\u307f\u307e\u3059\u3002<br \/>\n\u305d\u3046\u3057\u306a\u3044\u3068\u30c7\u30c3\u30c9\u30ed\u30c3\u30af\u306b\u306a\u3063\u3066\u3057\u307e\u3046\u30b1\u30fc\u30b9\u304c\u3042\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n<p>\u53c2\u8003\uff1aFuelPHP\u306eDatabase_Query_Builder_Insert\u3067\u30d0\u30eb\u30af\u30a4\u30f3\u30b5\u30fc\u30c8\u304c\u4f7f\u7528\u3067\u304d\u305f\u8a71<br \/>\nMySQL\u306eBULK INSERT\u3067\u30c7\u30c3\u30c9\u30ed\u30c3\u30af\u3092\u56de\u907f\u3059\u308b<\/p>\n<h2>Linux\u5185\u6838\u53c2\u6570<\/h2>\n<h3>\u5927\u91cf\u7684TCP\/IP\u7684TIME_WAIT\u5b58\u5728<\/h3>\n<p>\u4e00\u756a\u8ca0\u8377\u304c\u304b\u304b\u308bGvG\u30d0\u30c8\u30eb\u958b\u50ac\u6642\u306bTIME_WAIT\u304c\u7d50\u69cb\u3042\u308a\u307e\u3057\u305f\u3002<br \/>\n\u30b5\u30fc\u30d0\u30fc\u306b\u3088\u3063\u3066\u307e\u3061\u307e\u3061\u3067\u3059\u304c2\u4e07~2\u4e078\u5343\u3050\u3089\u3044\u3067\u3057\u305f\u3002<br \/>\n\u3053\u308c\u306fMemcached\u95a2\u9023\u306e\u6539\u4fee\u3092\u3057\u305f\u5f8c\u306e\u6570\u5024\u306a\u306e\u3067\u3001\u6539\u4fee\u524d\u306f\u30ec\u30b9\u30dd\u30f3\u30b9\u304c\u60aa\u304fTIME_WAIT\u304c\u3082\u3063\u3068\u591a\u304b\u3063\u305f\u3068\u63a8\u5bdf\u3057\u307e\u3059\u3002<br \/>\n\u30ab\u30fc\u30cd\u30eb\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u8a2d\u5b9a\u3092\u898b\u308b\u3068net.ipv4.ip_local_port_range\u304c32768 &#8211; 65535\u3060\u3063\u305f\u306e\u306732767\u307e\u3067\u3057\u304b\u53d7\u3051\u4ed8\u3051\u3089\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002<br \/>\n\u6539\u4fee\u524d\u306f\u63a5\u7d9a\u304c\u6ea2\u308c\u3066\u3044\u3066\u30b5\u30fc\u30d0\u30fc\u53f0\u6570\u3092\u5897\u3084\u3059\u5fc5\u8981\u304c\u3042\u3063\u305f\u306e\u304b\u3082\u2026\u3002<br \/>\nnet.ipv4.ip_local_port_range\u309210000 &#8211; 65535\u306b\u3002<br \/>\nnet.ipv4.tcp_fin_timeout\u304c10\u3060\u3063\u305f\u306e\u30925\u306b\u3002<br \/>\n\u4ed6\u306b\u306f\u30e1\u30e2\u30ea\u95a2\u9023\u306e\u6570\u5024\u306a\u3069\u3092\u5897\u3084\u3057\u3066\u6700\u7d42\u7684\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"post-pre\"><code>vm<span class=\"p\">.<\/span>swappiness <span class=\"p\">=<\/span> <span class=\"m\">0<\/span>\r\nvm<span class=\"p\">.<\/span>overcommit_memory <span class=\"p\">=<\/span> <span class=\"m\">2<\/span>\r\nvm<span class=\"p\">.<\/span>overcommit_ratio <span class=\"p\">=<\/span> <span class=\"m\">99<\/span>\r\nnet<span class=\"p\">.<\/span>core<span class=\"p\">.<\/span>rmem_max <span class=\"p\">=<\/span> <span class=\"m\">16777216<\/span>\r\nnet<span class=\"p\">.<\/span>core<span class=\"p\">.<\/span>wmem_max <span class=\"p\">=<\/span> <span class=\"m\">16777216<\/span>\r\nnet<span class=\"p\">.<\/span>ipv4<span class=\"p\">.<\/span>tcp_rmem <span class=\"p\">=<\/span> <span class=\"m\">4096<\/span> <span class=\"m\">349520<\/span> <span class=\"m\">16777216<\/span>\r\nnet<span class=\"p\">.<\/span>ipv4<span class=\"p\">.<\/span>tcp_wmem <span class=\"p\">=<\/span> <span class=\"m\">4096<\/span> <span class=\"m\">65536<\/span> <span class=\"m\">16777216<\/span>\r\nnet<span class=\"p\">.<\/span>ipv4<span class=\"p\">.<\/span>tcp_fin_timeout <span class=\"p\">=<\/span> <span class=\"m\">5<\/span>\r\nnet<span class=\"p\">.<\/span>ipv4<span class=\"p\">.<\/span>ip_local_port_range <span class=\"p\">=<\/span> <span class=\"m\">10000<\/span> <span class=\"m\">65535<\/span>\r\n<\/code><\/pre>\n<p>\u8c03\u6574\u540e\uff0cTIME_WAIT\u51cf\u5c11\u4e86\u5927\u7ea6\u4e00\u534a\u3002<br \/>\n\u8fd9\u53ef\u80fd\u662f\u56e0\u4e3a\u5c06tcp_fin_timeout\u8bbe\u7f6e\u4e3a\u4e00\u534a\u5427&#8230;\u3002<\/p>\n<h2>Nginx\u4e0ePHP-FPM<\/h2>\n<h3>AWS\u306eELB\u306eHealthCheck\u306b\u6307\u5b9a\u3057\u3066\u3044\u305fURL\u304c\u3044\u308f\u3086\u308b\u30de\u30a4\u30da\u30fc\u30b8\uff08HOME\uff09\u3060\u3063\u305f<\/h3>\n<p>AWS\u306eELB\u914d\u4e0b\u306b\u3042\u308b\u30b5\u30fc\u30d0\u306b\u306f\u4e00\u5b9a\u79d2\u6570\u3067\u6b7b\u6d3b\u76e3\u8996\u306e\u901a\u4fe1\u304c\u304d\u307e\u3059\u3002<br \/>\n\u3053\u306e\u76e3\u8996\u5bfe\u8c61\u306eURL\u304c\u3044\u308f\u3086\u308b\u30de\u30a4\u30da\u30fc\u30b8\uff08HOME\uff09\u3067\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u3002<br \/>\n\u7d50\u69cb\u30c7\u30fc\u30bf\u53d6\u5f97\u304c\u8d70\u308b\u5834\u6240\u306a\u306e\u3067\u7121\u99c4\u306b\u8ca0\u8377\u304c\u304b\u304b\u3063\u3066\u3044\u307e\u3057\u305f\u3002<br \/>\n\u3072\u3068\u307e\u305aWEB\u30b5\u30fc\u30d0\u304c\u5fdc\u7b54\u3059\u308b\u304b\u30c1\u30a7\u30c3\u30af\u3067\u304d\u308c\u3070\u3088\u3044\u306e\u3067Nginx\u306eempty_gif\u3092\u4f7f\u3044\u307e\u3057\u305f\u3002<br \/>\n\u30b2\u30fc\u30e0\u306e\u8abf\u67fb\u3092\u3059\u308b\u969b\u306b\u90aa\u9b54\u306a\u306e\u3067\u30ed\u30b0\u4fdd\u5b58\u306fOFF\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"post-pre\"><code>location <span class=\"p\">=<\/span> \/healthcheck <span class=\"p\">{<\/span>\r\n    empty_gif;\r\n    access_log off;\r\n    <span class=\"k\">break<\/span>;\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u30b5\u30fc\u30d0\u30fc\u53f0\u6570\u5897\u3048\u308b\u307b\u3069DB\u306b\u8ca0\u8377\u304c\u304b\u304b\u308b\u3082\u306e\u306a\u306e\u3067\u3042\u307e\u308a\u30d0\u30ab\u306b\u306f\u3067\u304d\u306a\u3044\u3067\u3059\u306d\u3002<\/p>\n<h3>PHP-FPM\u7684\u8fdb\u7a0b\u5e94\u5c3d\u91cf\u4fdd\u6301\u8f83\u5c11\u7684\u6570\u91cf\u3002<\/h3>\n<p>\u30d7\u30ed\u30bb\u30b9\u304c\u5143\u300512\u500b\u7acb\u3061\u4e0a\u304c\u3063\u3066\u3044\u307e\u3057\u305f\u3002<br \/>\nCPU\u30b3\u30a2\u306f8\u500b\u3042\u308a\u4f7f\u7528\u7387\u308210%\u672a\u6e80\u306a\u306e\u3067\u4f59\u88d5\u304c\u3042\u308a\u307e\u3057\u305f\u3002<br \/>\n\u30d7\u30ed\u30bb\u30b9\u304c\u591a\u3044\u3068\u3082\u3063\u3068\u634c\u3051\u308b\u306e\u3067\u306f\u306a\u3044\u304b\u3068\u601d\u3063\u306650\u500b\u307e\u3067\u8a2d\u5b9a\u5909\u66f4\u3092\u8a66\u3057\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nb\">pm<\/span> <span class=\"p\">=<\/span> static\r\n<span class=\"nb\">pm<\/span><span class=\"p\">.<\/span>max_children <span class=\"p\">=<\/span> <span class=\"m\">50<\/span>\r\n<span class=\"nb\">pm<\/span><span class=\"p\">.<\/span>max_requests <span class=\"p\">=<\/span> <span class=\"m\">1000<\/span>\r\nrequest_terminate_timeout <span class=\"p\">=<\/span> <span class=\"m\">30<\/span>\r\n<\/code><\/pre>\n<p>\u5b9f\u969b\u306b\u904b\u7528\u3057\u3066\u307f\u3066\u2026<br \/>\n\u8efd\u3044\u51e6\u7406\u304c\u305f\u304f\u3055\u3093\u8d70\u308b\u6642\u306f\u3088\u304f\u3066\u3082\u3001GvG\u30d0\u30c8\u30eb\u306a\u3069\u3067\u91cd\u3044\u51e6\u7406\u304c\u8d70\u308b\u6642\u306fCPU\u30d1\u30ef\u30fc\u304c\u5206\u6563\u3055\u308c\u3066\u3088\u304f\u306a\u3044\u3088\u3046\u3067\u3059\u3002<br \/>\n\u3068\u3044\u3046\u3053\u3068\u3067\u518d\u5ea6\u8abf\u6574\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nb\">pm<\/span> <span class=\"p\">=<\/span> static\r\n<span class=\"nb\">pm<\/span><span class=\"p\">.<\/span>max_children <span class=\"p\">=<\/span> <span class=\"m\">20<\/span>\r\n<span class=\"nb\">pm<\/span><span class=\"p\">.<\/span>max_requests <span class=\"p\">=<\/span> <span class=\"m\">2000<\/span>\r\nrequest_terminate_timeout <span class=\"p\">=<\/span> <span class=\"m\">30<\/span>\r\n<\/code><\/pre>\n<p>\u4eca\u5ea6\u306f\u3061\u3083\u3093\u3068ab\u30b3\u30de\u30f3\u30c9\u3067\u8ca0\u8377\u30c1\u30a7\u30c3\u30af\u3057\u3066\u307f\u307e\u3057\u305f\u3002\uff08\u6700\u521d\u304b\u3089\u3084\u308a\u307e\u3057\u3087\u3046\u2026\uff09<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">ab<\/span> <span class=\"p\">-<\/span><span class=\"k\">l<\/span> <span class=\"p\">-<\/span><span class=\"k\">n<\/span> <span class=\"m\">10000<\/span> <span class=\"p\">-<\/span><span class=\"k\">c<\/span> <span class=\"m\">100<\/span>\uff5e<span class=\"m\">1000<\/span> http<span class=\"p\">:<\/span><span class=\"sr\">\/\/<\/span>xxx<span class=\"p\">.<\/span>xxx<span class=\"p\">.<\/span>xxx<span class=\"p\">.<\/span>xxx\/\r\n<\/code><\/pre>\n<p>\u79d2\u9593500\uff5e1000\u30ea\u30af\u30a8\u30b9\u30c8\u3050\u3089\u3044\u3057\u304b\u634c\u3051\u307e\u305b\u3093\u2026\u3002<br \/>\n\u30c1\u30a7\u30c3\u30af\u3057\u305fURL\u306fPHP\u304c\u5b9f\u884c\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u8efd\u3044\u51e6\u7406\u306e\u30da\u30fc\u30b8\u3067\u3059\u3002<br \/>\n\u3082\u3046\u3061\u3087\u3063\u3068\u9811\u5f35\u308c\u308b\u6c17\u304c\u3057\u305f\u306e\u3067Nginx\u306e\u8a2d\u5b9a\u3092\u8abf\u3079\u3066\u8abf\u6574\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"post-pre\"><code>events <span class=\"p\">{<\/span>\r\n    accept_mutex_delay <span class=\"m\">100<\/span>ms;\r\n<span class=\"p\">}<\/span>\r\nsendfile_max_chunk <span class=\"m\">512<\/span><span class=\"k\">k<\/span>;\r\nopen_file_cache <span class=\"nb\">max<\/span><span class=\"p\">=<\/span><span class=\"m\">100000<\/span> inactive<span class=\"p\">=<\/span><span class=\"m\">20<\/span>s;\r\nopen_file_cache_valid <span class=\"m\">30<\/span>s;\r\nopen_file_cache_min_uses <span class=\"m\">2<\/span>;\r\nopen_file_cache_errors <span class=\"k\">on<\/span>;\r\n<\/code><\/pre>\n<p>\u5f53\u6211\u518d\u6b21\u4f7f\u7528ab\u547d\u4ee4\u8fdb\u884c\u68c0\u67e5\u65f6\uff0c\u6bcf\u79d2\u7ea6\u53ef\u4ee5\u5904\u7406\u5927\u7ea64000\u4e2a\u8bf7\u6c42\u3002<br \/>\n\u653e\u5165open_file_cache\u786e\u5b9e\u6709\u5f88\u5927\u7684\u5dee\u522b\u3002<br \/>\n\u5b9e\u9645\u5728\u5b9e\u9645\u8bbe\u5907\u4e0a\u67e5\u770b\u65f6\uff0c\u753b\u9762\u8f6c\u6362\u6bd4\u4ee5\u524d\u66f4\u52a0\u987a\u7545\u3002<\/p>\n<p>\u306a\u304a\u30b9\u30ec\u30c3\u30c9\u30d7\u30fc\u30eb\u3082\u8a66\u3057\u3066\u307f\u3088\u3046\u3068\u8a2d\u5b9a\u3057\u305f\u3089\u3053\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u306f\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u3068\u6012\u3089\u308c\u307e\u3057\u305f\u3002<\/p>\n<h3>\u30ed\u30b1\u30fc\u30eb\u60c5\u5831\u306e\u5bb9\u91cf\u304c\u5927\u304d\u3044<\/h3>\n<p>PHP-FPM\u306e\u30de\u30b9\u30bf\u30fc\u30d7\u30ed\u30bb\u30b9\u304c\u8aad\u307f\u8fbc\u3080\u30ed\u30b1\u30fc\u30eb\u60c5\u5831\u304c\u7d50\u69cb\u306a\u5bb9\u91cf\u3067\u3057\u305f\u3002<br \/>\n\u4e0d\u8981\u306a\u30ed\u30b1\u30fc\u30eb\u3092\u524a\u308b\u3068\u30e1\u30e2\u30ea\u3092\u7bc0\u7d04\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nb\">cd<\/span> \/usr\/lib\/locale\/\r\n<span class=\"nb\">sudo cp <\/span>locale-archive locale-archive.bak\r\n<span class=\"nb\">sudo <\/span>localedef <span class=\"nt\">--list-archive<\/span> | <span class=\"nb\">grep<\/span> <span class=\"nt\">-v<\/span> <span class=\"nt\">-e<\/span> ^ja <span class=\"nt\">-e<\/span> ^en_GB <span class=\"nt\">-e<\/span> en_US <span class=\"nt\">-e<\/span> ^zh | <span class=\"nb\">sudo <\/span>xargs localedef <span class=\"nt\">--delete-from-archive<\/span>\r\n<span class=\"nb\">sudo cp<\/span> <span class=\"nt\">-a<\/span> locale-archive locale-archive.tmpl\r\n<span class=\"nb\">sudo <\/span>build-locale-archive\r\n<\/code><\/pre>\n<p>AWS\u3060\u3068\u30b9\u30da\u30c3\u30af\u3092\u7d30\u304b\u304f\u8abf\u6574\u3067\u304d\u306a\u3044\u305f\u3081\u30e1\u30e2\u30ea\u304c\u7d50\u69cb\u4f59\u3063\u3066\u3044\u3066\u7121\u7406\u306b\u3084\u308b\u5fc5\u8981\u306f\u306a\u304b\u3063\u305f\u304b\u3082\u3002<br \/>\n\u30e1\u30e2\u30ea\u306e\u5c11\u306a\u3044\u30b5\u30fc\u30d0\u30fc\u3067\u7bc0\u7d04\u3057\u305f\u3044\u306a\u3089\u3070\u3084\u308a\u307e\u3057\u3087\u3046\u3002<\/p>\n<h2>RDS (Relational Database Service) \u53ef\u4ee5\u7b80\u5316\u548c\u81ea\u52a8\u5316\u7ba1\u7406\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002<\/h2>\n<h3>\u5c3d\u7ba1\u5185\u5b58\u5bb9\u91cf\u4e3a30GB\uff0c\u4f46innodb_buffer_pool_size\u8bbe\u7f6e\u4e3a6GB\u3002<\/h3>\n<p>\u5168DB\u30e1\u30e2\u30ea30GB\u642d\u8f09\u3067\u3057\u305f\u304c\u30e1\u30e2\u30ea\u3092\u5168\u7136\u4f7f\u3063\u3066\u3044\u306a\u3044\uff01\uff01<br \/>\n\u4e00\u5f8b\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u307e\u3057\u305f\u3002<br \/>\n\u601d\u3044\u5207\u3063\u3066\u5206\u96e2\u30ec\u30d9\u30eb\u3082\u5909\u3048\u3066\u307e\u3059\u3002<br \/>\n\u30e1\u30e2\u30ea\u306f\u3082\u3046\u3061\u3087\u3063\u3068\u5272\u308a\u5f53\u3066\u3066\u3082\u5927\u4e08\u592b\u3060\u3063\u305f\u304b\u306a\u3068\u3044\u3046\u611f\u3058\u304c\u3057\u3066\u307e\u3059\u304c\u3001RDS\u306e\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u3067\u30a2\u30e9\u30fc\u30c8\u306e\u95be\u5024\u30ae\u30ea\u30ae\u30ea\u306a\u306e\u3067\u3053\u306e\u307e\u307e\u306b\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\n\u305f\u3076\u3093\u30c7\u30d5\u30a9\u30eb\u30c8\u304c\u30e1\u30e2\u30ea\u642d\u8f09\u91cf\u306e3\/4\u5272\u308a\u5f53\u3066\u308b\u8a2d\u5b9a\u3060\u304b\u3089\u3067\u3059\u304b\u306d\u3002<br \/>\n\u3064\u307e\u308ainnodb_buffer_pool_size\u306fRDS\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u8a2d\u5b9a\u3067\u3088\u3044\u306f\u305a\u3067\u3059\u3002<br \/>\n\u4f55\u6545\u56fa\u5b9a\u3067\u66f8\u3044\u305f\u304b\u3068\u3044\u3046\u3068\u5143\u304c3\/4\u306b\u306a\u308b\u3088\u3046\u306a\u8a2d\u5b9a\u306b\u306a\u3063\u3066\u3044\u305f\u306e\u306b6GB\u3057\u304b\u5272\u308a\u5f53\u3066\u3089\u308c\u3066\u306a\u304b\u3063\u305f\u304b\u3089\u3067\u3059\uff01<br \/>\n\uff08\u3082\u3057\u304b\u3059\u308b\u3068\u518d\u8d77\u52d5\u3059\u308c\u3070\u76f4\u3063\u305f\u306e\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u2026\uff09<\/p>\n<pre class=\"post-pre\"><code>innodb_buffer_pool_size <span class=\"p\">=<\/span> <span class=\"m\">21474836480<\/span>\r\ninnodb_log_file_size <span class=\"p\">=<\/span> <span class=\"m\">4294967296<\/span>\r\ninnodb_buffer_pool_instances <span class=\"p\">=<\/span> <span class=\"m\">10<\/span>\r\ninnodb_max_dirty_pages_pct <span class=\"p\">=<\/span> <span class=\"m\">95<\/span>\r\ninnodb_sync_array_size <span class=\"p\">=<\/span> <span class=\"m\">4<\/span>\r\ninnodb_flush_neighbors <span class=\"p\">=<\/span> <span class=\"m\">0<\/span>\r\nsync_binlog <span class=\"p\">=<\/span> <span class=\"m\">1<\/span>\r\nsync_relay_log <span class=\"p\">=<\/span> <span class=\"m\">1<\/span>\r\nrelay_log_info_repository <span class=\"p\">=<\/span> TABLE\r\nmaster<span class=\"p\">-<\/span>info<span class=\"p\">-<\/span>repository <span class=\"p\">=<\/span> TABLE\r\nbinlog_format <span class=\"p\">=<\/span> ROW\r\ntx_isolation <span class=\"p\">=<\/span> READ<span class=\"p\">-<\/span>COMMITTED\r\ninnodb_autoinc_lock_mode <span class=\"p\">=<\/span> <span class=\"m\">2<\/span>\r\n<\/code><\/pre>\n<h3>thread_cache_size\u3068table_open_cache\u304c\u8db3\u308a\u3066\u306a\u3044<\/h3>\n<p>\u30b3\u30cd\u30af\u30b7\u30e7\u30f3\u306b\u95a2\u9023\u3059\u308b\u3068\u3053\u308d\u306fDB\u5225\u306b\u8abf\u6574\u3057\u307e\u3057\u305f\u3002<br \/>\n\u30de\u30b9\u30bf\u7cfbDB\u306f\u8aad\u307f\u304c\u4e2d\u5fc3\u3067\u63a5\u7d9a\u3082\u30c6\u30fc\u30d6\u30eb\u6570\u3082\u591a\u3044\u306e\u3067\u8a2d\u5b9a\u5024\u3092\u591a\u3081\u306b\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\nshow global status\u3067Max_used_connections\u3068Open_tables\u3092\u898b\u3066\u8db3\u308a\u306a\u305d\u3046\u306a\u3089\u5024\u3092\u8abf\u6574\u3057\u307e\u3059\u3002<br \/>\ntable_open_cache_instances\u306f16\u21922\u306b\u5909\u66f4\u3057\u307e\u3057\u305f\u3002<br \/>\nMySQL\u306e\u30de\u30cb\u30e5\u30a2\u30eb\u306b\u306fCPU16\u30b3\u30a2\u4ee5\u4e0a\u30678~16\u306b\u3059\u308b\u3068\u3088\u3044\u3068\u66f8\u3044\u3066\u3042\u308a\u307e\u3057\u305f\u3002<br \/>\nDB\u30b5\u30fc\u30d0\u3092\u8abf\u3079\u305f\u30898\u30b3\u30a2\u3060\u3063\u305f\u306e\u3067\u8a2d\u5b9a\u5024\u304c\u5927\u304d\u3059\u304e\u3067\u3057\u305f\u3002<\/p>\n<pre class=\"post-pre\"><code>max_connect_errors <span class=\"p\">=<\/span> <span class=\"m\">100000<\/span>\r\nmax_connections <span class=\"p\">=<\/span> <span class=\"m\">1600<\/span><span class=\"p\">~<\/span><span class=\"m\">3000<\/span>\r\nthread_cache_size <span class=\"p\">=<\/span> <span class=\"m\">1600<\/span><span class=\"p\">~<\/span><span class=\"m\">3000<\/span>\r\ntable_open_cache <span class=\"p\">=<\/span> <span class=\"m\">1000<\/span><span class=\"p\">~<\/span><span class=\"m\">16000<\/span>\r\ntable_definition_cache <span class=\"p\">=<\/span> <span class=\"m\">900<\/span><span class=\"p\">~<\/span><span class=\"m\">8400<\/span>\r\ntable_open_cache_instances <span class=\"p\">=<\/span> <span class=\"m\">2<\/span>\r\n<\/code><\/pre>\n<h3>Binlog_cache_disk_use\u304c\u5897\u3048\u3066\u3044\u304f<\/h3>\n<p>\u7279\u522b\u662f\u5728\u4e3b\u6570\u636e\u5e93\u4e2d\uff0cBinlog_cache_disk_use\u7684\u6570\u91cf\u5927\u5e45\u589e\u52a0\u3002<br \/>\n\u6240\u6709\u6570\u636e\u5e93\u7684\u8bbe\u7f6e\u90fd\u662f\u5171\u540c\u7684\u3002<\/p>\n<pre class=\"post-pre\"><code>binlog_cache_size <span class=\"p\">=<\/span> <span class=\"m\">32768<\/span>\r\n<\/code><\/pre>\n<p>\u3068\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002<br \/>\nBinlog_cache_disk_use\u304c\u5897\u3048\u3066\u3044\u308bDB\uff08\u307b\u3068\u3093\u3069\u5168\u90e8\u3067\u3057\u305f\u304c\u2026\uff09\u306ebinlog_cache_size\u3092\u8abf\u6574\u3057\u307e\u3057\u305f\u3002<br \/>\n\u3053\u3061\u3089\u3082show global status\u3067\u78ba\u8a8d\u3057\u306a\u304c\u3089\u4e0a\u3052\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>binlog_cache_size <span class=\"p\">=<\/span> <span class=\"m\">32768<\/span><span class=\"p\">~<\/span><span class=\"m\">98304<\/span>\r\n<\/code><\/pre>\n<h3>Aborted_connects\u6570\u91cf\u4e0d\u65ad\u589e\u52a0\u3002<\/h3>\n<p>\u7279\u306b\u30de\u30b9\u30bf\u7cfb\u306eDB\u3067\u305f\u304f\u3055\u3093\u5897\u3048\u3066\u3044\u307e\u3057\u305f\u3002<br \/>\n\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u8db3\u308a\u306a\u3044\u306e\u304b\u3068\u601d\u3063\u3066thread_cache_size\u3092max_connections\u3068\u540c\u3058\u306b\u3057\u307e\u3057\u305f\u3002<br \/>\n\u307e\u305fwait_time\u304c30\uff5e60\u3060\u3063\u305f\u306e\u3092180\u306b\u3057\u307e\u3057\u305f\u3002<br \/>\n\u3053\u308c\u3067Aborted_connects\u304c\u307b\u307c\u5897\u3048\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002<br \/>\n\u3064\u3044\u3067\u306binteractive_timeout\u304cwait_time\u3068\u540c\u3058\u5024\u3067\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u305f\u306e\u306728800\u306b\u3057\u307e\u3057\u305f\u3002<br \/>\n\u3053\u306e\u5024\u306fmysql\u30b3\u30de\u30f3\u30c9\u3067\u63a5\u7d9a\u3057\u305f\u6642\u304b\u660e\u793a\u7684\u306b\u30aa\u30d7\u30b7\u30e7\u30f3\u6307\u5b9a\u3057\u305f\u6642\u3060\u3051\uff1f\u306b\u4f7f\u308f\u308c\u308b\u306e\u3067\u5c0f\u3055\u304f\u8abf\u6574\u3059\u308b\u5fc5\u8981\u306f\u306a\u3044\u306f\u305a\u3067\u3059\u3002<br \/>\n\u76f4\u63a5MySQL\u306b\u63a5\u7d9a\u3057\u3066INDEX\u4f5c\u6210\u7b49\u3059\u308b\u969b\u306b\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u3066\u4e0d\u4fbf\u3060\u3063\u305f\u306e\u3067\u2026\u3002<\/p>\n<pre class=\"post-pre\"><code>thread_cache_size <span class=\"p\">=<\/span> <span class=\"m\">1000<\/span><span class=\"p\">~<\/span><span class=\"m\">3000<\/span>\r\nwait_time <span class=\"p\">=<\/span> <span class=\"m\">180<\/span>\r\ninteractive_timeout <span class=\"p\">=<\/span> <span class=\"m\">28800<\/span>\r\n<\/code><\/pre>\n<h3>\u30bd\u30fc\u30c8\u7cfb\u306e\u30e1\u30e2\u30ea\u5272\u308a\u5f53\u3066\u304c\u8db3\u308a\u306a\u3044<\/h3>\n<p>\u5143\u3005\u304c524288~1048576\u3050\u3089\u3044\u306e\u5272\u308a\u5f53\u3066\u3067\u3057\u305f\u3002<br \/>\n\u5404buffer_size\u306f\u53c2\u8003\u60c5\u5831\u3092\u3082\u3068\u306b\u3056\u3063\u3068\u5272\u308a\u5f53\u3066\u307e\u3057\u305f\u3002<br \/>\ntmp_table_size\u306fCreated_tmp_disk_tables\u306e\u5024\u3092\u898b\u306a\u304c\u3089\u8abf\u6574\u3057\u307e\u3057\u305f\u3002<br \/>\n0\u306b\u306f\u3067\u304d\u306a\u3044\u3088\u3046\u306a\u306e\u3067\u4e0a\u6607\u304c\u7de9\u3084\u304b\u306b\u306a\u308b\u6570\u5024\u3067\u6c7a\u3081\u307e\u3057\u305f\u3002<br \/>\nmax_heap_table_size\u304c\u4e0a\u9650\u306b\u306a\u308b\u306e\u3067tmp_table_size\u3068\u540c\u3058\u6570\u5024\u306b\u5909\u3048\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code>read_buffer_size <span class=\"p\">=<\/span> <span class=\"m\">2097152<\/span>\r\nsort_buffer_size <span class=\"p\">=<\/span> <span class=\"m\">4192304<\/span>\r\nread_rnd_buffer_size <span class=\"p\">=<\/span> <span class=\"m\">4192304<\/span>\r\njoin_buffer_size <span class=\"p\">=<\/span> <span class=\"m\">262144<\/span>\r\nmax_heap_table_size <span class=\"p\">=<\/span> <span class=\"m\">268435456<\/span>\r\ntmp_table_size <span class=\"p\">=<\/span> <span class=\"m\">268435456<\/span>\r\n<\/code><\/pre>\n<p>\u53ea\u6709\u4e3b\u6570\u636e\u5e93<\/p>\n<pre class=\"post-pre\"><code>read_buffer_size <span class=\"p\">=<\/span> <span class=\"m\">4192304<\/span>\r\njoin_buffer_size <span class=\"p\">=<\/span> <span class=\"m\">1048576<\/span>\r\n<\/code><\/pre>\n<p>\u6211\u672c\u6765\u89c9\u5f97\u4e0d\u9700\u8981\u7684\uff0c\u4f46\u7531\u4e8e\u65e0\u6cd5\u7acb\u5373\u4fee\u590d\u7a0b\u5e8f\u5b9e\u73b0\u7684\u95ee\u9898\uff0c\u6240\u4ee5\u589e\u52a0\u4e86\u3002<\/p>\n<h3>Provisioned IOPS\u306a\u306e\u306b\u30c7\u30a3\u30b9\u30afIO\u306e\u8a2d\u5b9a\u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u307e\u307e<\/h3>\n<p>\u30b9\u30c8\u30ec\u30fc\u30b8\u304cProvisioned IOPS\u306b\u306a\u3063\u3066\u3044\u308bDB\u306f\u30c7\u30a3\u30b9\u30afIO\u306e\u8a2d\u5b9a\u3082\u5909\u3048\u307e\u3057\u305f\u3002<br \/>\n\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u307e\u307e\u3060\u3063\u305f\u306e\u3067\u6027\u80fd\u767a\u63ee\u3067\u304d\u3066\u3044\u306a\u304b\u3063\u305f\u3068\u601d\u3044\u307e\u3059\u2026\u3002<\/p>\n<pre class=\"post-pre\"><code>innodb_io_capacity <span class=\"p\">=<\/span> <span class=\"m\">1000<\/span>\r\ninnodb_io_capacity_max <span class=\"p\">=<\/span> <span class=\"m\">2000<\/span>\r\ninnodb_lru_scan_depth <span class=\"p\">=<\/span> <span class=\"m\">1000<\/span>\r\n<\/code><\/pre>\n<h2>\u4e91\u524d\u7aef<\/h2>\n<h3>gzip\u5727\u7e2e\u6a5f\u80fd\u3092\u4f7f\u3063\u3066\u3044\u306a\u304b\u3063\u305f<\/h3>\n<p>AWS\u306e\u7ba1\u7406\u753b\u9762\u3067\u3061\u3087\u3063\u3068\u8a2d\u5b9a\u5909\u66f4\u3059\u308b\u3060\u3051\u3067gzip\u5727\u7e2e\u6a5f\u80fd\u304c\u4f7f\u3048\u307e\u3059\u3002<br \/>\n\u672a\u5727\u7e2e\u3092\u30ad\u30e3\u30c3\u30b7\u30e5\u6e08\u307f\u306e\u5834\u5408\u306f\u3001\u30ad\u30e3\u30c3\u30b7\u30e5\u304b\u3089\u672a\u5727\u7e2e\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8fd4\u3057\u3066\u3057\u307e\u3046\u306e\u3067<br \/>\ngzip\u5727\u7e2e\u3092\u8a2d\u5b9a\u3057\u305f\u5f8c\u306bCloudFront\u306e\u5168\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u524a\u9664\u3059\u308b\u3068\u3088\u3044\u3067\u3059\u3002<br \/>\n\u3053\u308c\u3067\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\uff08CSS\u3001JS\u306a\u3069\uff09\u306e\u901a\u4fe1\u5bb9\u91cf\u304c\u304b\u306a\u308a\u6e1b\u308a\u307e\u3059\u3002<\/p>\n<p>\u8a73\u7d30\u306fAWS\u3092\u53c2\u7167\u306e\u3053\u3068<br \/>\nAWS Documentation &#8211; \u5727\u7e2e\u30d5\u30a1\u30a4\u30eb\u306e\u4f9b\u7d66<\/p>\n<h1>\u7d50\u5c40WEB\u30b5\u30fc\u30d0\u3092\u3069\u308c\u3060\u3051\u6e1b\u3089\u305b\u305f\u306e\u304b<\/h1>\n<p>\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u524d<br \/>\n\u901a\u5e38\u6642\uff1a40\u53f0<br \/>\nGvG\u30d0\u30c8\u30eb\u6642\uff1a60\u53f0<\/p>\n<p>\u8c03\u6574\u540e\u7684\u60c5\u51b5<br \/>\n\u6b63\u5e38\u60c5\u51b5\uff1a5-15\u8f86\uff08\u6df1\u591c\u65f6\u4eba\u5c11\u7684\u65f6\u5019\u4e3a5\u8f86\uff0c\u767d\u5929\u4e3a10-15\u8f86\uff09<br \/>\nGvG\u6218\u6597\u65f6\uff1a30\u8f86<\/p>\n<p>\u76ee\u524d\uff0c\u6211\u6709\u70b9\u62c5\u5fc3\u589e\u52a0Memcached\u8c03\u7528\u6b21\u6570\u4f1a\u6210\u4e3a\u74f6\u9888&#8230;<br \/>\n\u4e0e\u8c03\u4f18\u4e4b\u524d\u76f8\u6bd4\uff0c\u901f\u5ea6\u660e\u663e\u63d0\u9ad8\u4e86\uff0c\u670d\u52a1\u5668\u6570\u91cf\u4e5f\u51cf\u5c11\u4e86\u4e00\u534a\u4ee5\u4e0a\uff0c\u7b97\u662f\u5f88\u4e0d\u9519\u5427\u3002<\/p>\n<h1>\u53c2\u8003\u8d44\u6599<\/h1>\n<p>\u3053\u3061\u3089\u306e\u60c5\u5831\u3092\u53c2\u8003\u306b\u3055\u305b\u3066\u3044\u305f\u3060\u304d\u307e\u3057\u305f\u3002<br \/>\n\u8cb4\u91cd\u306a\u60c5\u5831\u3092\u516c\u958b\u3057\u3066\u304f\u308c\u305f\u65b9\u3005\u306b\u611f\u8b1d\u3057\u307e\u3059\u3002<\/p>\n<p>MySQL 5.6\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5f8c\u306b\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u3059\u3079\u304d\u9805\u76ee<br \/>\nMySQL\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u3089\u3001\u5fc5\u305a\u78ba\u8a8d\u3059\u3079\u304d10\u306e\u8a2d\u5b9a<br \/>\nMySQL\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u30e1\u30e2<br \/>\nnginx &#8211; \u30ab\u30fc\u30cd\u30eb\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0<br \/>\n\u3010\u6539\u8a02\u7248\u3011FuelPHP\u306eAgent\u30af\u30e9\u30b9\u304c\u91cd\u3044\u554f\u984c\u3068\u66ab\u5b9a\u7684\u306a\u5bfe\u51e6\u65b9\u6cd5<br \/>\nFuelPHP\u306eDatabase_Query_Builder_Insert\u3067\u30d0\u30eb\u30af\u30a4\u30f3\u30b5\u30fc\u30c8\u304c\u4f7f\u7528\u3067\u304d\u305f\u8a71<br \/>\nMySQL\u306eBULK INSERT\u3067\u30c7\u30c3\u30c9\u30ed\u30c3\u30af\u3092\u56de\u907f\u3059\u308b<br \/>\nlocale\u60c5\u5831\u306e\u30b9\u30ea\u30e0\u5316(locale-archive\u3068\u304b)<br \/>\n\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c1\u30a7\u30c3\u30af<\/p>\n<p>\u6211\u7528draw.io\u5236\u4f5c\u4e86\u7f51\u7edc\u56fe\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u3042\u308b\u7a3c\u50cd\u4e2d\u306e\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u30b2\u30fc\u30e0\u30a2\u30d7\u30ea\u3067\u6a5f\u80fd\u8ffd\u52a0\u30fb\u30c7\u30fc\u30bf\u5897\u52a0\u7b49\u306b\u3088\u308a\u660e\u308b\u307f\u306b\u51fa\u3066\u304d\u305f\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u3092\u89e3\u6d88\u3059 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-34764","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u4e00\u6b3eSP\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4e00\u6b3esp\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u4e00\u6b3eSP\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u3042\u308b\u7a3c\u50cd\u4e2d\u306e\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u30b2\u30fc\u30e0\u30a2\u30d7\u30ea\u3067\u6a5f\u80fd\u8ffd\u52a0\u30fb\u30c7\u30fc\u30bf\u5897\u52a0\u7b49\u306b\u3088\u308a\u660e\u308b\u307f\u306b\u51fa\u3066\u304d\u305f\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u3092\u89e3\u6d88\u3059 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4e00\u6b3esp\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-28T14:24:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-30T12:04:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1f5337434c4406c1a25b\/6-0.png\" \/>\n<meta name=\"author\" content=\"\u97f5, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u97f5, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/\",\"name\":\"\u4e00\u6b3eSP\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2024-01-28T14:24:15+00:00\",\"dateModified\":\"2024-04-30T12:04:53+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u4e00\u6b3eSP\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\",\"name\":\"\u97f5, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"caption\":\"\u97f5, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u4e00\u6b3eSP\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u4e00\u6b3esp\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55\/","og_locale":"zh_CN","og_type":"article","og_title":"\u4e00\u6b3eSP\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55","og_description":"\u9996\u5148 \u3042\u308b\u7a3c\u50cd\u4e2d\u306e\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u30b2\u30fc\u30e0\u30a2\u30d7\u30ea\u3067\u6a5f\u80fd\u8ffd\u52a0\u30fb\u30c7\u30fc\u30bf\u5897\u52a0\u7b49\u306b\u3088\u308a\u660e\u308b\u307f\u306b\u51fa\u3066\u304d\u305f\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u3092\u89e3\u6d88\u3059 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u4e00\u6b3esp\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2024-01-28T14:24:15+00:00","article_modified_time":"2024-04-30T12:04:53+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d1f5337434c4406c1a25b\/6-0.png"}],"author":"\u97f5, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u97f5, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"5 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/","name":"\u4e00\u6b3eSP\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2024-01-28T14:24:15+00:00","dateModified":"2024-04-30T12:04:53+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u4e00\u6b3eSP\u793e\u4ea4\u6e38\u620f\u7684\u8c03\u6574\u5907\u5fd8\u5f55"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e","name":"\u97f5, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","caption":"\u97f5, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%b8%80%e6%ac%besp%e7%a4%be%e4%ba%a4%e6%b8%b8%e6%88%8f%e7%9a%84%e8%b0%83%e6%95%b4%e5%a4%87%e5%bf%98%e5%bd%95\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/34764","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=34764"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/34764\/revisions"}],"predecessor-version":[{"id":94012,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/34764\/revisions\/94012"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=34764"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=34764"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=34764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}