有没有任何命令行或php脚本返回memcached总内存使用情况?
我们有一个在Glassfish应用服务器集群上运行的基于Java EE的Web应用程序。 传入stream量将主要是基于XML的RESTful请求,用于表示我们的应用程序资源,但是可能有5%的stream量是基于JSON或XHTML / CSS的表示forms。 我们现在正在研究负载均衡解决scheme,以便在集群中的Glassfish实例之间分配传入stream量。 我们也在研究如何使用memcached卸载集群,这是一个内存分布式哈希映射,其键是REST资源名(例如“/ user / bob”,“/ group / jazzlovers”),其值是相应的XML表示。 听起来很有前途的一种方法是一举两得,并使用轻量级,快速的nginx HTTP服务器/反向代理。 Nginx将通过首先在memcached中查找它的URI来处理每个传入的请求,以查看是否存在尚未到期的XML表示。 如果没有,nginx将请求发送到其中一个Glassfish实例。 nginx memcached模块在这个简短的介绍中有描述。 你对nginx和memcached的总体印象如何,用这种方式,你对他们有多开心? 你觉得哪些资源最有助于了解它们? 如果你尝试了他们,他们不适合你的目的,为什么不,你用什么? 注意:这是一个相关的问题 。 在我知道有关ServerFault之前,我在StackOverflow上询问了这个问题。 编辑:到目前为止所有的答案都相当有帮助,虽然没有直接的经验。 这个答案最终在StackOverflow上显示出来了,而且在nginx / memcached安装上也是非常看好的。
我对memcached完全陌生! 我成功地在主机A(Ip 192.168.1.102)中用此命令安装并启动了memcached, memcached -u memcached -d -m 30 -l 127.0.0.1 -p 11211 我也将这些条目添加到iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 11211 -j ACCEPT -A INPUT -m state –state NEW -m udp -p udp –dport 11211 -j ACCEPT 重新启动iptables服务,它听取端口11211 telnet也工作! telnet localhost 11211 尝试127.0.0.1 …连接到本地主机。 转义字符是'^]'。 但是我使用这个脚本memcached_test.php连接到主机B的这个主机A(IP 192.168.1.103) <?php $memcache = […]
更新后,请参阅较长的问题(对不起)的底部。 看看我们的memcached状态我想我已经发现了一个我以前没有意识到的问题。 似乎我们有一个奇怪的高度浪费的空间。 我用phpmemcacheadmin检查了一下,发现这个图像盯着我: 现在我的印象是,最坏的情况是50%的浪费,尽pipe我是第一个承认不了解所有细节的人。 我已经阅读 – 除了其他 – 这个页面确实有点老,但我们的版本的memcached。 我想我很了解这个系统是如何工作的( 例如 )我相信,但我很难理解我们如何能够达到76%的浪费空间。 phpmemcacheadmin显示的驱逐率是2 ev/s ,所以这里有一些问题。 主要问题是: 我能做些什么来解决这个问题 。 我可以扔更多的内存(有一些额外的可用我想),也许我应该摆弄slabconfiguration(这是甚至有可能与此版本?),也许还有其他的select? 升级memcached版本不是一个快速可用的选项。 出于好奇,第二个问题当然是如果75%(和上升)浪费空间的速度是预期的,如果是的话,为什么呢? 系统:目前我不能做任何事情,我知道memcached版本不是最新的,但这些是我已经处理的卡片。 Memcached 1.4.5 Apache 2.2.17 PHP 5.3.5 作为对@DavidSchwartz答案的回应:这是phpmemcacheadmin产生的slab统计信息:(这里有更多的btw平板) ( 我也在这里以稍后的文本格式粘贴统计 ) UPDATE 我用-f 1.5重启了守护进程,看起来非常好。 经过一些变暖,我们有一个使用/浪费50/50。 但是,和以前一样,我们白天的时间越来越长(白天变得越来越忙),现在开始回落到现在的水平:30/70,浪费还在上升。 除此之外,我还不知道“浪费”是从哪里来的。 我看到这块板: **Slab 5 Stats** Chunk Size 496.0 Bytes Used Chunk 77502 [24.6 %] Total Chunk 314986 […]
我目前在运行Redhat x86_64 es5 32Gb RAM的Xeon 7550服务器上。 我已经安装了memcache,configuration中剩余的唯一步骤是设置它使用的内存量。 我已经在旧服务器上完成了这个工作,我通过Filezilla(root访问)下载了一个文件并对其进行了编辑。 现在,我不记得我编辑了哪个文件,以及stream程是如何进行的。 我想设置使用1 GB的memery。 任何人有一些洞察力? 如果你能协助,请彻底,因为我的linux服务器知识是有限的。
我们正在从1个networking服务器设置移动到两个networking服务器设置,我需要开始共享两个负载平衡机器之间的PHP会话。 我们已经安装了memcached ( 并启动了 ),所以我很高兴地看到,通过更改php.ini文件( session.save_handler和session.save_path )中的3行,我可以完成新服务器之间的共享会话: 我replace了: session.save_handler = files 有: session.save_handler = memcache 然后在主Web服务器上,我设置session.save_path指向localhost: session.save_path="tcp://localhost:11211" 并在奴隶networking服务器上,我设置session.save_path指向主: session.save_path="tcp://192.168.0.1:11211" 工作完成,我testing了它,它工作。 但… 显然,使用memcache意味着会话在RAM中,如果一台机器重启或memcache守护进程崩溃,会丢失 – 我有点担心,但我更担心两个networking服务器之间的networkingstream量(尤其是我们扩大规模),因为每当有人负载均衡到奴隶的networking服务器,他们的会话将通过networking从主networking服务器获取。 我想知道是否可以定义两个save_paths以便机器在使用networking之前查看自己的会话存储。 例如: 主: session.save_path="tcp://localhost:11211, tcp://192.168.0.2:11211" 奴隶: session.save_path="tcp://localhost:11211, tcp://192.168.0.1:11211" 这会成功地共享服务器上的会话,并帮助性能? 即50%的时间节省networkingstream量。 或者,这种技术仅用于故障转移(例如,当一个memcache守护进程不可达时)? 注意 :我没有真正具体询问memcache复制 – 更多关于PHP memcache客户端是否可以在池中每个memcache守护进程内达到峰值的信息,返回一个会话(如果find一个会话),并且只会创build一个新会话(如果找不到一个会话在所有的商店。 正如我正在写这个,我想我从PHP问一点,哈哈… 假设 :没有粘性会话,循环负载均衡,LAMP服务器。
有什么工具可以探索当前caching在memcached池中的内容吗? 没有多less图表,但是当前存储的实际键/值。
我试图在一个centos盒子上运行memcached,并运行了一段时间,但最终在这种状态: memcached已死,但子系统已locking netstat显示了这一点: tcp 0 0 :::11211 :::* LISTEN udp 0 0 0.0.0.0:11211 0.0.0.0:* ps显示了这一点: nobody 21983 0.0 1.8 60272 19912 ? Ssl 16:46 0:00 memcached -d -p 11211 -u nobody -c 1024 -m 64 有人知道这是什么意思?
/opt/eduserver/eduserver为我提供了以下选项: 用法:/ opt / eduserver / eduserver {start | stop | startphp | startwww | startooo | stopphp | stopwww | stopooo | restartphp | restartwww | restartooo | status | restart | reload | force-reload} 其中memcache是php模块,在/opt/eduserver/etc/php/conf.d有memcache.ini 。 我想从命令行清除memcache。 我能不能“触摸”networking服务器的任何其他部分?
我一直听到一些PHP(操作码)caching,如 – APC,XCache,Memcache,eAccelerator等 但我永远不知道如何去select一个。 除了caching系统应该提供的性能优势之外,还应该考虑哪些其他因素。 喜欢你为什么会说Xcaching系统比Y好? 我不太担心相对的性能收益。 任何两个系统之间的细微差别都不重要。 如果我的问题的一般答案是不可能的,这里有几个指针。 我使用Mediatemple的专用VPS(具有root权限)。 内存是512 MB(物理)+ 400MB(交换)我很担心WordPress和它的表兄弟WordPress-MU和BuddyPress。 我们的代码/网站中有90%属于WordPress系列。 在此先感谢您的帮助。