Articles of memcached

在CentOS 7上使用PHP的Memcached vs Amazon Elasticache

我在Vagrant中安装了一个新的CentOS 7服务器来运行PHP,nginx,MySQL(MariaDB)和memcached(注意在最后)。 我可以使memcached运行正常,但是我无法获得由PHP加载的Amazon Elasticache .so文件。 我知道文件存在。 我如何让PHP来加载这个扩展,或解决它为什么不会? 我已经按照说明在这里安装这个扩展: 安装用于PHP的ElastiCache集群客户端 如何解决PHP及其为什么不能加载扩展?

为什么我应该使用定制的memcached而不是Apple的Xcode版本?

根据苹果的文档,Memcached似乎预装了OS X上的Xcode。 为了确保我没有幻觉,我查了苹果的开发者工具文档。 是的,苹果支持和logging了memcached: 苹果开发者库:memcached(1) 显然,从10.6开始,memcached就与Xcode一起安装了。 我问这个问题的原因是,在networking上,有很多人问如何在OS X上安装memcached,但好奇的是似乎没有人提到最简单的方法就是通过AppStore安装Xcode(或使用DMG)。 所有给出的答案涉及使用自制软件或其他一些复杂的方式从源安装memcached。 苹果发布的memcached不够好吗? 我没有看到从源代码编译和安装memcached的好处,因为有一个苹果支持的版本。

Memcached:可以连接,但不可能设置值

我使用memcached软件包在Debian上安装了memcached。 memcached实例以384 MB开始。 然后我尝试连接: jcisio@cecile:~$ telnet 127.0.0.1 11211 Trying 127.0.0.1… Connected to 127.0.0.1. Escape character is '^]'. set mykey 0 60 5 get mykey CLIENT_ERROR bad data chunk ERROR stats items END 这是什么意思? 通常get mykey应该返回5。 stats命令给出 STAT pid 5456 STAT uptime 21334 STAT time 1326180707 STAT version 1.4.5 STAT pointer_size 64 STAT rusage_user 0.168010 STAT […]

Debian调优增加读/写缓冲区

有没有一种方法来修改Debian的设置,使内存可以用于更多的磁盘读/写caching? 我已经在使用RAID 0,但是这对于多个用户来说还不够,而且磁盘几乎是挣扎。 Torrents非常使用磁盘,而rTorrent没有caching设置。 更新:免费-m的输出是 total used free shared buffers cached Mem: 7899 7848 50 0 59 7369 -/+ buffers/cache: 420 7479 Swap: 3998 0 3998 为什么有这么多的内存caching?

Memcacheddebugging/服务器日志监视Memcached服务器?

我有基于Memcachedvariables的聊天引擎,把它们放到数组中,并通过jQuery来读取它们, 它工作正常95%的时间,但是当服务器负载是高memcached(假定它的memcached)崩溃和浏览器得到扼杀。 我不认为它的jQuery问题,因为这只发生在服务器负载非常高。 我需要一种方法来监视memcached服务器或以某种方式写入一个日志文件到失败/错误的地方… 任何想法,我怎么能做到这一点? 或任何想法为什么memcached服务器失败? 我运行memcached如下 $GLOBALS['MemCached'] = FALSE; $GLOBALS['MemCached'] = new Memcache; $GLOBALS['MemCached']->pconnect('localhost', 11211); 我的memcachedconfiguration如下 #! /bin/sh # # chkconfig: – 55 45 # description: The memcached daemon is a network memory cache service. # processname: memcached # config: /etc/sysconfig/memcached # pidfile: /var/run/memcached/memcached.pid # Standard LSB functions #. /lib/lsb/init-functions # Source function library. […]

Memcached故障转移技术

我们configuration了2个memcached服务器并使用Eniym客户端。 当其中一台服务器closures时,看起来这个服务器被添加到了deadServers列表(ServerPool.cs)中,并且每10秒就会尝试重新启动一次服务器(我们configuration了deadTimeOut为10秒)。 尝试连接到发生故障的服务器会导致TCP超时,这些页面需要很长时间才能加载,从而导致用户体验不佳。 1)解决这个问题的标准方法是什么? 有一些关于从deadServers列表中删除服务器的post。 这样做可以吗? 2)什么是推荐的deadTimeOut设置(我的默认情况下是2分钟,我们已经改变了10秒) 3)我的理解是正确的,caching的数据不复制跨服务器1和服务器2? 如果服务器1closures,那么它会去数据库获取这些值(而不是真的检查Server2)? 任何帮助真的很感激。

Memcache – 在有许多节点的分布式环境中的问题

我已经快速浏览了其他类似题目的问题,没有一个与我目前遇到的问题特别相似。 基本上,我们已经有了一个多节点的memcached环,运行了两年多,而且大部分情况是没有问题的。 memcache安装最近被移动到专用服务器上,容量增加了两倍(2GB到2GB)。 起初,我们遇到了麻烦,我认为这是php库如何与服务器交谈的问题,或者是服务器列表的顺序问题,或者是它们被错误地启动。 服务器“似乎”工作正常,但密钥似乎被存储在多个服务器上,并且过期不会过期值的所有实例。 基本上,我们将哈希机制从标准更改为一致,并且关键查找(到期/获取)和一切问题似乎已经恢复正常。 不过,在过去几周里,我一直在监视事物,注意到第一台服务器似乎要比第二台服务器多出许多倍(PHP memcache monitor工具报告每秒平均有1200次点击 ,而第二台服务器在500 )。 谁能解释一下: 首先,了解上面发生的事情,为什么一个服务器会在“分布式”环境中获得如此多的命中 其次,在分布式情况下,memcache客户端的推荐设置是什么 我使用一致的哈希做正确的事情吗? 我应该使用故障转移吗? 二进制存储? 或压缩? 什么是重置/移动现场内存caching环的正确过程 我发现memcached是一个非常棒的工具,对于它的目的来说是完美的,但实际的最佳实践指南和有用的文档(很less有详细描述)几乎没有。 如果我能够对发生的事情有一些了解,我一定会把它作为一个技术文章发布给所有人看(今后会有所帮助),但是我现在有麻烦了! 提前致谢

Memcached可能泄漏内存

我有一个非常奇怪的问题,我迷失了一下,因为我不知道该怎么做。 我们正在生产4个专用的memcached盒子。 所有的盒子都有48Gb的RAM,它们正在运行memcached,没有别的,守护进程的内存限制被设置为42Gb。 问题是,无论stream量和获取/设置的盒子接收caching将填满其中的所有4个约38GB,但随后的可用RAM的数量将开始缓慢下降的操作系统的过程中几天,直到盒子将开始交换,填补了交换和颠簸! 现在这真的很奇怪,因为没有其他东西在运行,可能会占用RAM的其余部分,而memcached正在吃掉38Gb而没有增长(至less这是图表和统计数据显示的)。 我曾尝试将swappiness设置为0,但没有帮助。 我试图降低caching限制,但我得到了相同的行为。 我正在运行Centos 5.6,2.6.18-238,memcached 1.4.4和libevent-1.4.13-1。 你有没有遇到过类似的问题? memcached可能是内存泄漏,并没有显示在graphics或通常的Linux工具? 谢谢! 担

Enyim Memcached客户端在多台服务器上caching相同的项目

我们有一个由5个服务器组成的memecached集群。 当我们查看caching键时,它显示了同一个项目在集群中的4-5台服务器上显示。 据我所知,Enyim的默认键哈希应该保证一致。 除了服务器被标记为closures之外,我不知道这个问题会是什么。 有什么build议么?

我们是否应该增加繁忙的memcached服务器的本地端口范围限制

nixcraft有一个教程,在最后configurationmemcached服务器( 链接 )说: 对于繁忙的memcached服务器,您需要增加系统文件描述符和IP端口限制 这里是这样做的代码: # Increase system IP port limits net.ipv4.ip_local_port_range = 2000 65000 我们为什么要这样做? memcached是一个服务器,默认情况下它将使用其侦听端口11211响应客户端。 所以我们不应该受到本地端口范围的限制( net.ipv4.ip_local_port_range )唯一的限制是文件描述符。 本地端口范围应该是像squid这样的服务器产生本地stream量的限制