最新 | 最热门 | 最高评价

+0  与程序员相关的CPU缓存知识

Tag: 程序设计 | 编程语言 | cache | CPU | 性能调优
陈皓 发于 2020年03月01日 19:43 | 点击: 234 | 展开摘要
好久没有写一些微观方面的文章了,今天写一篇关于CPU Cache相关的文章,这篇文章比较长,主要分成这么几个部分:基础知识、缓存的命中、缓存的一致性、相关的代码示例和延伸阅读。其中会讲述一些多核 CPU 的系统架构以及其原理,包括对程序性能上的影响,以及在进行并发编程的时候需要注意到的一些问题。这篇文章我会尽量地写简单和通俗易懂一些,主要是讲清楚相关的原理和问题,而对于一些细节和延伸阅读我会在文章最后会给出相关的资源。

因为无论你写什么样的代码都会交给CPU来执行,所以,如

查看全文: http://www.udpwork.com/item/17499.html

+0  缓存更新的套路

Tag: Unix/Linux | 程序设计 | cache | Design | design pattern | Linux
陈皓 发于 2016年07月27日 16:25 | 点击: 2178 | 展开摘要
看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。

我不知道为什么这么多人用的都是这个逻辑,当我在微博上发了这个贴以后,我发现好些人给了好多非常复杂和诡异的方案,所以,

查看全文: http://www.udpwork.com/item/15697.html

+0  Spymemcached的一个坑

Tag: memcached | Java
鸟窝 发于 2015年11月24日 11:30 | 点击: 8437 | 展开摘要
Spymemcached 是 Memcached 的一个流行的Java client库(另一个比较著名的是原淘宝的 伯岩/庄晓丹 开发的XMemcached, 他也开发另一个Taobao开源的项目 Metamorphosis),性能表现出色,广泛应用于Java + Memcached 项目中。
Spymemcached 最早由 Dustin Sallings 开发,Dustin 后来和别人一起创办了Couchbase (原NorthScale),职位为首席架构师。2014加入

查看全文: http://www.udpwork.com/item/14792.html

+0  分布式缓存的一起问题

Tag: data | cache | memcached
Tim 发于 2014年05月22日 13:40 | 点击: 2199 | 展开摘要
背景说明

分布式缓存中为了可用性及高性能的考虑,可以使用如下一种master/slave设计模式。

图中的proxy是逻辑的概念,可以是基于client的包装实现,也可以是独立的proxy服务,但本文大部分是指独立的服务。几个主要的问题说明如下。

为什么cache要使用两个集群((master/slave)来存放?

主要出于可用性及高性能的考虑。传统的架构使用基于一致性哈希的分布式缓存,数据只存在一份副本,在出现cache节点单点故障时,虽然可以由一致性哈希算法将请求

查看全文: http://www.udpwork.com/item/12271.html

+0  flashcache支持资源隔离的改造

Tag: 存储系统 | cgroup | flashcache | quota
RobinDong 发于 2013年12月13日 17:17 | 点击: 2271 | 展开摘要
去年年底的时候对flashcache做了一番研究,并进行了改造,所谓改造,其实就是希望它能支持cgroup,也就是说,当有在不同cgroup里运行的进程对flashcache进行读写时,flashcache能根据cgroup的不同权重分配这些进程以不同的iops(IO per second)。详细的资料在这里:《flashcache原理及改造》

事情还没有结束,现在能给flashcache设备设io-scheduler了,设成cfq就可以按cgroup weight来分配i

查看全文: http://www.udpwork.com/item/11317.html

+0  Cassandra代替Redis?

Tag: data | cassandra | memcache | memcached | redis
Tim 发于 2013年11月16日 01:11 | 点击: 3084 | 展开摘要
最近用Cassandra的又逐渐多了,除了之前的360案例,在月初的QCon Shanghai 2013 篱笆网也介绍了其使用案例。而这篇百万用户时尚分享网站feed系统扩展实践文章则提到了Fashiolista和Instagram从Redis迁移到Cassandra的案例。考虑到到目前仍然有不少网友在讨论Redis的用法问题,Redis是一个数据库、内存、还是Key value store?以及Redis和memcache在实际场景的抉择问题,因此简单谈下相关区别。

首先

查看全文: http://www.udpwork.com/item/11135.html

+0  初窥InnoDB的Memcached插件

Tag: Technical | Memcached | MySQL
老王 发于 2013年08月20日 17:32 | 点击: 2330 | 展开摘要
前些年,HandlerSocket的横空出世让人们眼前一亮,当时我还写了一篇文章介绍了其用法梗概,时至今日,由于种种原因,HandlerSocket并没有真正流行起来,不过庆幸的是MySQL官方受其启发,研发了基于InnoDB的Memcached插件,总算是在MySQL中延续了NoSQL的香火,以前单独架设Memcached服务器不仅浪费了内存,而且还必须自己维护数据的不一致问题,有了Memcached插件,这些问题都不存在了,而且借助MySQL本身的复制功能,我们可以说是变

查看全文: http://www.udpwork.com/item/10432.html

+0  Memcached调优

Tag: Performance Tuning | Memcached | XMemcached | 缓存 | 调优
四火 发于 2013年08月02日 19:54 | 点击: 2332 | 展开摘要
文章系本人原创,转载请保持完整性并注明出自《四火的唠叨》

项目中有一个对实时响应性比较高的服务,引入了Memcached以减少延迟和减少数据库压力。但是期间遇到了一些问题,这里记录一些调优细节。 

客户端选择

最开始我使用的是Memcached Java Client,但是最后放弃了,放弃原因包括:

有时会出现的“No Thread For Socket”异常,我记录在这里;

它不支持NOREPLY模式(在这种模式下,更新缓存的set操作可以不需要Memcached

查看全文: http://www.udpwork.com/item/10333.html

+0  7个示例科普CPU Cache

Tag: 程序设计 | 系统架构 | cache | CPU | 并发
Leo 发于 2013年07月30日 09:05 | 点击: 3074 | 展开摘要
(感谢网友 @我的上铺叫路遥 翻译投稿)

CPU cache一直是理解计算机体系架构的重要知识点,也是并发编程设计中的技术难点,而且相关参考资料如同过江之鲫,浩瀚繁星,阅之如临深渊,味同嚼蜡,三言两语难以入门。正好网上有人推荐了微软大牛Igor Ostrovsky一篇博文《漫游处理器缓存效应》,文章不仅仅用7个最简单的源码示例就将CPU cache的原理娓娓道来,还附加图表量化分析做数学上的佐证,个人感觉这种案例教学的切入方式绝对是俺的菜,故而忍不住贸然译之,以飨列位看官。

查看全文: http://www.udpwork.com/item/10313.html

+0  Issue record: “No thread for socket” about Memcached

Tag: Performance Tuning | Memcached | socket | 问题
四火 发于 2013年07月15日 21:18 | 点击: 2345 | 展开摘要
文章系本人原创,转载请保持完整性并注明出自《四火的唠叨》

We own a service supplying not-real-time data to the downstream clients. In order to reduce the average latency and the pressure on database, Memcached was imported as the cluster center cache, and our service

查看全文: http://www.udpwork.com/item/10199.html

+0  静态cache之log共现词分析

Tag: 性能优化 | 搜索引擎 | 静态cache 共现词分析 引擎性能优化
钓雪 发于 2013年06月04日 23:33 | 点击: 1536 | 展开摘要
一、背景

搜索引擎的log数据可以用于query理解、user理解、doc理解和ranking。我们运行共现词分析,挖掘出引擎的query log里面共现的词,离线建静态cache,用于提升引擎的性能。

二、共现词分析

分析query log里query的平均的term数,值为5。我们对query log依次进行一至四元共现词分析,高于四元的我们推荐用fullcache解决,而且高元的离线计算成本也太高。

做法如下:

首先抽取query里分词后的term,因为ter

查看全文: http://www.udpwork.com/item/9991.html

+0  【译文】LSFMM: 缓存 — dm-cache 与 bcache

Tag: translation | bcache | block | dm | dm-cache | linux | lsfmm | lwn | storage
gnawux 发于 2013年06月02日 23:03 | 点击: 31506 | 展开摘要
原标题: LSFMM: Caching — dm-cache and bcache

原作者: Jake Edge

原文链接: https://lwn.net/Articles/548348/

原文发布时间: May 1, 2013

译者: 王旭 ( @gnawux )

译文时间: 2013年6月2日

在 LSFMM 2013 峰会上,Mike Snitzer, Kent Overstreet, Alasdair Kergon, 和 Darrick Wong 共同主

查看全文: http://www.udpwork.com/item/9960.html
|<<<1234567>>>| 一共8页, 94条记录