一、在http header上增加命中显示 nginx提供了$upstream_cache_status这个变量来显示缓存的状态,我们可以在配置中添加一个http头来显示这一状态,达到类似squid的效果。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 ...
分类:
系统相关 时间:
2018-12-04 19:05:20
阅读次数:
330
《性能之巅》中关于性能和缓存部分,有两点在读到是有一些困惑,做以下思考。 1. 为什么99%的缓存命中,和98%的缓存命中,两者性能差距,远大于11%和10%的差距 具体的论证仔细思考了一下,可以推导如下: 现做以下变量定义: k:命中率,[0,1]之间 t:没有命中的处理耗时,[1,max],此处 ...
分类:
其他好文 时间:
2018-11-20 01:18:37
阅读次数:
171
B+树 B+树是B树的一种变体,也属于平衡多路查找树,大体结构与B树相同,包含根节点、内部节点和叶子节点。多用于数据库和操作系统的文件系统中,由于B+树内部节点不保存数据,所以能在内存中存放更多索引,增加缓存命中率。另外因为叶子节点相连遍历操作很方便,而且数据也具有顺序性,便于区间查找。 B+树特点 ...
分类:
编程语言 时间:
2018-11-12 14:57:33
阅读次数:
159
为了提高搜索命中率和准确率,改善现有羸弱的搜索功能,公司决定搭建全文搜索服务。由于之前缺乏全文搜索使用经验,经过一番折腾,终于不负期望按期上线。总结了一些使用心得体会,希望对大家有所帮助。计划分三篇: 一、技术选型 说到全文搜索大家肯定会想到solr和elasticsearch(以下简称es),两者 ...
分类:
其他好文 时间:
2018-11-04 16:14:34
阅读次数:
213
nginx在web应用上的占用率越来越高,其带的模块也越来越来。nginx_cache算是一个,虽和专业的cache工具相比略逊一筹,但毕竟部署简单,不用另装软件和资源开销,所以在web cache中也占了比重不小的一席。不过像squid和varnish等cache软件都自带的有cache查看工具, ...
分类:
系统相关 时间:
2018-10-20 14:55:50
阅读次数:
225
Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作 一、Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl、PHP为主。 仅仅memcached网站上列出的语言就有:Perl ...
分类:
Web程序 时间:
2018-10-16 01:51:31
阅读次数:
246
一、Redis和数据库的结合 使用Redis可以优化性能,但是存在Redis的数据和数据库同步的问题。 例如,T1时刻以将 key1 保存数据到 Redis,T2时刻刷新进入数据库,但是T3时刻发生了其他业务需要改变数据库同一条记录的数据,但是采用了 key2 保存到Redis中,然后又写入了更新数 ...
分类:
编程语言 时间:
2018-10-15 23:23:30
阅读次数:
234
将进程与cpu绑定,最直观的好处就是减少cpu之间的cache同步和切换,提高了cpu cache的命中率,提高代码的效率。从cpu架构上,NUMA拥有独立的本地内存,节点之间可以通过互换模块做连接和信息交互,因此每个CPU可以访问整个系统的内存,但是访问远地内存访问效率大大降低,绑定cpu操作对此 ...
分类:
其他好文 时间:
2018-10-10 12:01:40
阅读次数:
1172
一、概述 在学操作系统的时候,会接触到页面缓存调度算法。缓存不可能是无限大的,所以会涉及到一些置换策略,来保证缓存的命中率。常见的有:FIFO、LRU、LFU、OPT策略等。 1、缓存置换算法 FIFO:First In First Out,先进先出,和队列保持一致。最先进来的最早出去。 LRU:L ...
分类:
编程语言 时间:
2018-10-08 19:37:16
阅读次数:
285
在并发编程过程中,我们大部分的焦点都放在如何控制共享变量的访问控制上(代码层面),但是很少人会关注系统硬件及 JVM 底层相关的影响因素。前段时间学习了一个牛X的高性能异步处理框架 Disruptor,它被誉为“最快的消息框架”,其 LMAX 架构能够在一个线程里每秒处理 6百万 订单!在讲到 Di ...
分类:
其他好文 时间:
2018-09-26 17:09:56
阅读次数:
216