我用–enable-replication选项编译了memcached-repcached,像下面这样启动它: 在服务器1上: # /usr/local/memcached/bin/memcached -v -d -u memcached -l 192.168.7.106 -p 11216 -c 2048 -m 512 -P /usr/local/memcached/var/run/test.pid -x 192.168.3.82 -X 11216 # replication: connect (peer=192.168.3.82:11216) replication: marugoto copying replication: close replication: failed to initialize replication server socket 在服务器2上: # /usr/local/memcached/bin/memcached -v -d -u memcached -l 192.168.3.82 -p 11216 -c 2048 -m 512 -P /usr/local/memcached/var/run/test.pid […]
我最近安装了MAMP Pro 1.9.5。 我在线学习了几个教程,解释了如何启用memcached 。 我能够正确编译没有错误。 我将memcache.so作为extension = memcache.so添加到我的php.ini中。 由于某些原因,它不会添加扩展名。 我的文件是,我向你保证,位于MAMP php 5.3的extension_dir。 一方面,不,似乎当我在php.ini注释掉一些扩展它没有影响。 也许这可能与它有关呢? 任何方向将非常感激。 我浪费了很多时间find解决办法。
问题 从Nginx的memcached后端定期超时(请参阅下面的示例错误) 事情已经testing: 它在本地和远程memcached服务器上都会出现,所以networking不会成为问题 它同时发生在memc和memcached后端 无论是否有上行Keepalive模块,都会发生 它发生在nginx 0.8,1.0.x和1.1.x 缓冲日志似乎稍微减less了错误的数量,但它们仍然存在,这可能只是巧合 通过udp(即非阻塞)login到另一个没有任何区别 其他信息: memcached服务器每秒从这个和其他(远程)客户端处理约500个请求 memcached日志中没有错误/报告 使用以下设置启动memcached: tcp和udp都启用(目前只使用tcp) 16GB的内存 16个线程(在32核心机器上) 限于8192个连接 通过supervisord以non-daemonic模式启动 服务器运行FreeBSD 8.2 超时发生在低负载和高负载(现在每秒只有大约50个请求) 这个问题 所以我的问题是…我怎么能debugging这些问题? 任何人都有一个想法的根本原因可能是什么? 错误不会持续发生,但会频繁出现在每隔几分钟的日志中。 来自日志的示例错误: 2011/08/30 17:23:34 [error] 13921#0: *38602 upstream timed out (60: Operation timed out) while reading response header from upstream, client: xxxx, server: some.host.com, request: "GET /some_random_file HTTP/1.1", subrequest: "/memc_get", […]
我在AWS ubuntu 10.04 memcached 1.4.2上testing过 当用memslap(不同的并发用户数和不同的实例types(8G和1.7G内存) 上方显示了memcached进程的110%cpu和cpu摘要的55%CPU空闲。 这里有什么问题? 服务器是否只使用一个memcached内核? 如果是的话,是否有可能改变它,以获得更多的开箱即用?
我在两个由Nginx提供支持的Web服务器上运行Wordpress安装程序。 我在两台服务器上都configuration了Memcached,而我正在为Memcached使用W3总caching插件: 多重Memcached服务器的推荐解决scheme是什么? 我已经在W3插件(192.168.1.1; 11211,192.168.1.2:11211)中configuration了两者,但是我不确定这是一个在caching性能方面是否好的解决scheme,将同时存储在两个服务器上? 我应该只在每个Web服务器上configurationloopack地址吗? 这实际上是如何工作的 – 在这种情况下,caching在两台服务器上都被复制? 您能否提供一些好的文章/指导如何为PHP-FPM实现chrooted环境? 推荐使用哪种PHP扩展:php-pecl-memcached或php-pecl-memcache。 W3插件实际上并不能识别php-pecl-memcached。 谢谢
我已经在php.ini中安装了memcached和下面的代码: session.save_handler = memcache session.save_path = "tcp://localhost:11211" 但是当我尝试使用memcached处理程序..这不是存储会话.. session.save_handler = memcached session.save_path = "localhost:11211"
有没有什么办法caching响应标题以及在Memcached中的响应正文与Nginx一起使用?
我正在使用Memcached会话pipe理器以非粘滞模式处理Tomcat会话。 我在Azure中的部署由一个工作者angular色组成,两个实例连接到运行我的Memcached服务器的Azure虚拟机。 一切工作都很好,我的会话被持久化,并透明地检索两个实例中的任何一个。 当会话闲置约4分钟时出现问题; 所有的事情都指出Azure负载平衡器在一段时间不活动之后closures到虚拟机的间谍caching连接。 我的MSMconfiguration是这样的: <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:my-azure-vm.cloudapp.net:11211" sticky="false" sessionBackupAsync="false" sessionBackupTimeout="10000" lockingMode="uriPattern:/path1|/path2" requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js|ttf|eot|svg|woff)$" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" customConverter="de.javakaffee.web.msm.serializer.kryo.HibernateCollectionsSerializerFactory"/> 由spymemcached客户端打印的stacktrace是这样的: INFO net.spy.memcached.MemcachedConnection: Reconnecting due to exception on {QA sa=/10.194.132.206:13000, #Rops=1, #Wops=0, #iq=0, topRop=net.spy.memcached.protocol.binary.StoreOperationImpl@1d95da8, topWop=null, toWrite=0, interested=1} java.io.IOException: An existing connection was forcibly closed by the remote host at sun.nio.ch.SocketDispatcher.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(Unknown Source) at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) at sun.nio.ch.IOUtil.read(Unknown […]
我有一个nginx服务器,坐在运行django的apache前面。 我的网站大部分是静态内容: http : //www.grovemade.com/ 我的应用程序服务器可以处理需要dynamic的部分(POST,购物车,订单状态,常见问题等)。 绝大多数命中是静态页面,如产品页面,关于页面,ajax获取请求。 它像一个冠军直接从memcached处理页面。 其实我问过SF在这里确定我的瓶颈: 这是否certificate了networking带宽瓶颈? 而且受到我的主机出站stream量限制。 因此对于我需要的任何东西都是100%的能力。 因为这些数字我都很兴奋; 但是这些数字并不意味着当40页纸被轰炸时,嘿,让我成为一个新的caching! “嘿,我也是!” 唯一的问题是,在stream量大的时候,第二个caching过期了一个特定的页面,我的应用程序服务器遇到了数以千计的请求,这使得所有的东西都陷入了/可能导致服务器崩溃。 我想象的更像是… 答:应用程序服务器按照自己的步调自动将内容推送到memcached(因为它肯定可以填充caching……只有几百个同时进行)。 前端服务器使用它所具有的function – 从不尝试代理获取请求。 地狱,它可以为我所关心的所有人留下一个空白的页面。 至less应用程序服务器将是活着的,接受订单,并能够在未来的某个时刻填充那个破损的页面,而不是一个向下的死亡螺旋,我甚至无法拿起我的盾(memcached)。 问题是:我不得不build立一个系统,确定应该从多个地方caching的每个页面。 Django知道要caching哪些页面; 我想这很容易。 但是nginx – > django:我不希望它代理一切(否则我会处于相同的情况); 所以我必须在一个单独的位置编写更多的逻辑。 咩。 B:Nginx可以限制与应用服务器的连接。 但是,它将如何区分应用程序服务器排队的请求和我只希望它build立单个连接的types? 毕竟,应用程序决定是否应该caching页面。 如果它正在我的应用程序服务器上等待简单的dynamic内容(如提取订单详细信息),我不希望它删除连接。 在caching/应用程序之间build立一个请求响应循环,通知需要build立一个页面? 而后来的请求应该被忽略? 等等。 所以,考虑到99%的stream量是由nginx来满足的,而我的应用服务器真的只是X%谁转换并使其成为一个dynamic页面有趣,我应该怎么做,以防止我的应用服务器在几秒钟内完全淹没它响应的地方: 嘿,你! 让我为你回到这个页面。 还有1000多人想要吗? 好吧,我会这样做,如果我可以的话。 现实世界的问题/例子:今天,我们得到了巨大的命中。 我们通常不会获得很多stream量,但是我们今天发布了我们的产品,预购客户就像疯了似的。 服务器现在正在处理stream量@ 20%的容量,但是有一些非常非常粗略的时间,当我试图生成一个小时caching定时器过期时每个人都点击的小块页面时,我几乎失去了它。 我疯狂地select了最重要的caching页面,并试图将它们保存在caching中。 那是/不是/乐趣! 我也手动拉动从8080上运行的Apache的HTML,并把它们放到memcached。 如果我的apache进程内存不足,完全崩溃说memcached或花了足够长的时间,以至于过期的密钥,会有一个点… …“难以回报”,在那么多的人会绕过caching,我的服务器会比平常更加重载/因此如果不阻止所有请求并开始手动填充高速caching,通常是不可恢复的。 通常做什么来完成这项工作? 对不起,这是一种思路。 […]
我有一个服务器与centos 6.3和cPanel 从PHP 5.3.16升级到PHP 5.3.19后,我的网站停止工作。 当我尝试手动执行index.php ,我收到以下错误。 php:符号查找错误:/usr/local/lib/php/extensions/no-debug-non-zts-20090626/memcached.so:undefined symbol:memcached_last_error_errno 通过pecl和手动重新安装memcached和memcache,但没有帮助。 什么是造成这个问题,我该如何解决?