Articles of memcached

什么导致memcache删除密钥?

我们的memcache安装最近开始删除键,我们不知道为什么。 大批的钥匙在同一时间消失。 Memcache报告说,驱逐很less到不存在,我们的应用程序无法清除内存caching(它只能删除特定的键)。 即使应用程序没有知识的键被删除,所以我们相信他们正在过期。 但是,我们的memcacheconfiguration在一段时间内还没有被触及。 有没有人debugging过这样的问题,如果是的话,有没有什么步骤,你会build议我们采取? memcache的过期策略有多灵活 – 我们是否可能突然遇到基于(比如说)写密钥的标准?

分布式memcached应​​该如何提高networking调用的性能?

http://memcached.org/about 问候所有,我喜欢memcached,但迄今为止只用于单机设置作为本地caching。 我已经广泛地阅读了关于memcached的分布式特性以及客户端如何确定要写入和读取的memcached服务器列表中的哪一个。 根据我的理解,通过select确定性散列algorithm,我们可以确保始终将数据写入正确的服务器并从正确的服务器读取,而不pipe请求来自何处。 所以,我的问题是,考虑以下情况: 服务器A在纽约,服务器B在洛杉矶。 两者都是彼此的镜像。 两个正在运行与复制的MySQL数据库。 在只读的情况下并不重要,但可以说A是主,B是奴隶。 两者都在运行memcached,并且他们的客户端有一个memcached服务器列表(在这种情况下是服务器A和B)。 某个数据,比如说博客文章的主体,是从服务器A的数据库中读取的,因此存储在A的memcached中。 不同地区的不同用户访问服务器B并请求相同的博客post。 服务器B的memcached客户端检查并确认这个数据已经被caching了,所以它到达OVER THE NETWORK从服务器A的memcached抓取这些数据。 现在,首先,我的理解到目前为止是正确的? 请指出我所做的任何错误或不正确的假设:)。 所以,我的问题是,这应该如何提高性能? 在这种情况下,更好的计划似乎是让服务器A和服务器B都将自己独立的memcached实例作为本地caching运行( http://memcached.org/about中的顶层数字),但这种做法是不合适的分布式devise的整体思路。 那么分发的优势是什么呢? 从服务器B到服务器A的networking操作比服务器B从它自己的本地数据库读取要慢。 请帮我理解。 我觉得在这里我基本上忽略了memcached是如何工作的。 谢谢! ķ

连接到memcached“哪个端口应该使用?”(php)

我已经安装了memcached完美,我已经创build了一个新的实例,但我不明白,如果我连接到正确的端口…我总是得到一个虚假的回报从get(key) 这是我的代码: $sql = "SELECT * FROM users"; $key = md5('q'.$sql); //create an index key for memcache $result = $memcache->get($key);//lookup value in memcache //check if we got something back if($result == null) { echo "nothing back"; $r = mysql_query($sql) or die(mysql_error()." : $sql");//fetch from database if(mysql_num_rows($r)> 0) { echo "returned"; $people = array(); while ($person […]

如何最大限度地从S3并行下载

我从单个页面上获取了很多从Amazon S3加载的图像,有时花费相当多的时间来加载所有图像。 我听说从不同的子域分割图像将有助于并行下载,但是,实际的实现是什么? 虽然很容易拆分像静态,图像等子域; 我应该像10个子域(image1,image2 …)加载说100个图像? 还是有一些聪明的办法呢? (顺便说一句,我正在考虑使用memcache来cachingS3images;我不确定是否可以,我将不胜感激任何进一步的评论,非常感谢!

如何监控OpenNMS中的memcached统计信息?

我想去编辑数据的大小和命中…

在Ubuntu服务器9.04中安装memcached

我刚刚在虚拟机上安装了Linux Ubuntu,需要在其上安装memcached。 我试过了 apt-get install memcached 但它安装版本1.2.2(从本地存储库),这是旧的。 我需要安装v 1.4.1,但是如何从命令行将它下载到Linux中? 我知道应该有一种方法,但我不太好用Linux … 任何帮助将非常感激! 谢谢安德烈

如何为200万用户部署Web应用程序?

我一直负责研究如何为高可用性,高stream量,dynamic,基于Flash的Web应用程序进行大规模部署。 这个应用程序很有可能会增长到200万用户或者更多。 当然,到了真正做到这一点的时候,我可能会引进一位专家来帮助我。 现在,这是全部的理论,我只想得到一个好主意,如何做到这一点。 这是我目前的想法: 获得1或2个千兆networking连接。 2个HA代理/负载均衡器。 12个物理服务器(2个四核,32GB内存)运行25个虚拟机Apache Web服务器 – 共300个虚拟机。 2个memcached服务器(2个四核,32GB内存) 2x Master Mysql DB服务器,3x只读slave mysql服务器 2个6TB SAN RAID 所有10GbE或光纤连接… 我的工作主要是找出硬件,以及如何部署和维护硬件。 至于维护这个野兽,我正在研究Slack,Rightscale,Landscape,VMware。 我也在考虑将其部署在亚马逊EC2上,但是我更愿意自己来架设,因为从长远来看,它会更便宜。 我可以从这个机架开始,并添加EC2实例,如果需要更多的。 你觉得怎么样,这是矫枉过正? 不够? 我有没有想到,有什么我失踪? 感谢任何阅读和回应的人!

Memcached:在插入特定数量的项目后键将被删除

我正在debugging一个php脚本,它将数据保存在memcache作为对应用程序进行加热的一种方式。 此脚本仅进行set调用以将数据保存到memcache ,并且在设置了特定数量的条目之后,插入的第一项开始消失(行为可重现)。 我一直在阅读memcache文档,并了解了驱逐过程,所以开始检查日志,并阅读统计信息,看看是否是这个原因。 在插入开始擦除第一个元素的项目之前停止php脚本,我运行stats slabs : stats slabs STAT 1:chunk_size 96 STAT 1:chunks_per_page 10922 STAT 1:total_pages 1 STAT 1:total_chunks 10922 STAT 1:used_chunks 1 STAT 1:free_chunks 10921 STAT 1:free_chunks_end 0 STAT 1:mem_requested 93 STAT 1:get_hits 0 STAT 1:cmd_set 1 STAT 1:delete_hits 0 STAT 1:incr_hits 0 STAT 1:decr_hits 0 STAT 1:cas_hits 0 STAT 1:cas_badval 0 STAT […]

运行命令之前在HAProxy中标记为UP

我必须解决这个问题。 我有两个memcache服务器(SM1和SM2)和HAProxy负载平衡器在他们面前。 当SM2有backup命令时,HAProxyconfiguration为主动/被动模式。 所有stream量随时只能路由到一台服务器,只有在活动服务器出现故障时才会切换。 我需要确保在服务器启动前memcache是​​干净的。 我们的应用程序无法检测到memcache中的数据是否过旧,并将使用它(这可能会导致一些问题)。 在标记为“UP”之前,如何将flush_all发送到服务器? 这甚至有可能吗? 或者更好的做法是把所有的应用程序切换到redis(我们用来存储会话数据)和复制? 非常感谢。

安装PHP Memcache模块的问题

我正尝试在我的VPS上安装memcache。 当我input $ pecl install memcache 我得到这个错误 checking whether the C compiler works… configure: error: cannot run C compiled programs. If you meant to cross compile, use `–host'. See `config.log' for more details. ERROR: `/root/tmp/pear/memcache/configure –enable-memcache-session=yes' failed 任何想法可能是什么问题?