2022年已过去 5.34%
顺利切换到redis    @ 2011-07-09, 14:01

网站为提高响应速度,越来越依赖在内存中存放数据。之前使用memcached,但却发现了一些由memcached的内存分配机制以及LRU导致的问题(详见 http://ahuaxuan.iteye.com/blog/225692)——简单来说是这样的,我们发现,在memcached还没有用尽其内存时,它就开始踢那些“永不超时”的数据了。对于memcached的设计理念是作为缓存来说,这当然不算是问题,或者可以说是有意设计的,但对于我们的实际需求来说(“永不超时”的数据必须保持在内存中)是无法接受的了。毕竟,缓存是缓存,数据是数据。

于是上周着手寻找新的替代方案,后来确定了使用redis。

“Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作,是我知道的性能最快的Key-Value DB。”(http://www.iteye.com/topic/524977

相比memcached,Redis毕竟是以DB为设计目标的,因此功能强大很多(比如内存中的数据维护功能,memcached几乎为0),却非常小巧,编译安装也非常方便。

“和Memcached不同,Redis并没有选择libevent。Libevent为了迎合通用性造成代码庞大(目前Redis代码还不到libevent的1/3)及牺牲了在特定平台的不少性能。Redis用libevent中两个文件修改实现了自己的epoll event loop(4)。业界不少开发者也建议Redis使用另外一个libevent高性能替代libev,但是作者还是坚持Redis应该小巧并去依赖的思路。一个印象深刻的细节是编译Redis之前并不需要执行./configure。”(http://timyang.net/tag/redis/

redis支持很多客户端(http://redis.io/clients),我们使用的php(phpredis)和python(redis-py)当然都有,代码从memcached切换到redis几乎不用做改动,转移成本极小。

昨晚redis顺利部署到线上。切换后总结带来的好处如下:
1、当然是完成了切换到redis的初衷——保持web服务器内存中数据的完整性,避免类似memcached的LRU那样踢数据。
2、之前用memcached的时候,必须在线上用脚本将后台postgresql的关系数据“跑”进内存(memcached)里,这个步骤比较费时,在线上跑并不是很合适;现在用redis可以用线下服务器将关系数据跑进内存里,生成磁盘文件,再把该文件上传到线上服务器即可,线上服务器短时间就可以完成数据更新的切换(相当于把线下服务器的内存“拷贝”到了线上服务器的内存)。数据更新部署的流程简化多了。
3、不再担心重启memcached服务甚至重启服务器时,带来的内存中数据长时间空缺导致线上服务受到影响(见上一条“必须在线上用脚本将后台postgresql的关系数据“跑”进内存(memcached)里,这个步骤比较费时”),redis服务本身的维护也相当方便。

当然,基于切换的初衷,我们更多的还是把redis当作一个更合适的memcached来用,所以我们没有启用redis的VM特性(内存足够,性能是唯一要求)。redis更多强大功能,暂时还没有体会。

Redis官方网址:http://redis.io/

软硬兼施 | 4 个评论 | 14,885 次阅读
简短地址:http://ncblog.net/915/
解决Chrome经常狂读硬盘僵在那里    @ 2011-06-08, 12:57

Chrome/Chromium毫无疑问是速度最快的主流浏览器。不过,时常遇到其狂读硬盘僵在那里的情况,感觉有点诡异。
google一下发现了解决方法:
将“高级选项”中的“启用针对网上诱骗和恶意软件的防护功能”功能关闭即可。

软硬兼施 | 评论已关闭 | 9,629 次阅读
简短地址:http://ncblog.net/901/
白日梦回2006    @ 2010-12-01, 17:41

前天晚上,将4年前买的m-audio 2496声卡转移到了我的gentoo机器上。本以为比较偏门的声卡配置起来会麻烦些,没想到很轻松就搞定,linux内核直接支持驱动ICE1712芯片,重新编译了内核之后,再到make.conf文件中加上ALSA_CARDS=”ice1712″,emerge alsa-tools就可以用envy24control来控制了。

昨天又把同样是4年前买的惠威T200B音箱也搬到客厅里(gentoo机器也在客厅),好鞍得跟着好马 :grin:

今天补充的线材到手,布置妥当,然后一个人躺在客厅里听音乐了。这才回想起,这四年来(尤其有了可乐之后的三半年多),音箱、声卡几乎都没发挥过作用。之前放在卧房里的电脑上,只能用来给可乐放放童话故事,以及可乐玩4399之类游戏时的音效 :shock:

而听着听着,却又让人回想起了2006年的时光,内心里又一阵唏嘘感慨。这套东西属于那个时代唯一遗留下来的“奢侈品”遗产了吧~~

软硬兼施 | 2 个评论 | 9,222 次阅读
简短地址:http://ncblog.net/813/
total commander的linux平台替代品    @ 2010-11-27, 23:58

total commander用了9年了,在哪里都离不开。自从开始用gentoo桌面后,就在用muCommander作为代替品,不过,不知为何,muCommander在我的gentoo环境下,无法正确显示中文目录/文件名。这一点让人一直不怎么舒服。

今天终于找到一个满意的合格的替代品:gnome-commander


点击此处查看原尺寸截图

另外,昨天装上的一个面向开发者的纯文本编辑器也不错,当你仍然希望在gui方式下简单查看/修改一两个文件的代码(没用熟vim,又不想开eclipse这样的大家伙)的时候,可以选择:bluefish


点击此处查看原尺寸截图

软硬兼施 | 评论已关闭 | 15,877 次阅读
简短地址:http://ncblog.net/812/
tomato dualwan,爽    @ 2010-11-20, 06:36

家里搞了两条宽带线路,几台电脑如果各自分开上网,彼此的数据共享就是个麻烦事了。本来想搞成两个路由器然后串联的方式,在网上选择路由器的时候,偶然间看到了磊科NW618的评论里面,有人提到刷成双wan的方法,突然受到启发,这真是个很优雅的方案啊。

磊科NW618貌似是支持tomato dualwan firmware的最便宜的路由器了,于是在淘宝找了个,175元。

收到货后,刷了tomato dualwan 1.23.0483(网上查了下发现很多人说这款路由器刷1.28系列存在一些问题),将两条wan线路接上wan口和pc4口,双wan用上了,很好很强大。

tomato的控制项很多,所以灵活性非常高,可以满足各种需求,对我来说,根据一定条件(比如源IP地址,目标IP地址等)“指定出口”的功能是最必须,和最爽的。另外,其动态域名功能,支持很多种服务商,包括我使用的namecheap(在我使用过的路由器中,厂家官方firmware从来没有支持的)很令人惊喜,可以把电脑里的ddclient服务停掉了。

总算优雅的把两条线路的问题解决了。

软硬兼施 | 1 个评论 | 10,648 次阅读
简短地址:http://ncblog.net/801/
使用gentoo桌面一个月    @ 2010-11-18, 01:31

家里的新电脑(老电脑装xp给老婆专用了,她挂旺旺)装gentoo/xfce4正好满一个月了,我在家里的时候,基本上只用这台电脑,我觉得linux完全可以应付日常需要了。

我觉得,自从有了chromium,linux上网问题就完全解决了。以前虽然有FireFox,但firefox实在太慢(相对当时的IE6来说),而且不太好看 :razz: 。而chromium在各个平台上外观基本一致,速度也都一样的快,书签自动在线同步……至少对我来说,有了chromium之后,在linux平台上上网的体验飞跃到和Windows没有区别了。

这里不得不提一下不受乔帮主待见的flash,至少目前事实上,flash是当之无愧的跨平台的富浏览器应用的最佳平台。无数的flash游戏,可以运行在几乎所有浏览器和操作系统上。可乐现在就经常这台电脑上玩4399和7k7k等小游戏网站。

写代码,曾经用Delphi用了超过10年,今年上半年转入python,用eclipse之后,才觉得,语言/开发工具的跨平台——意味着不局限于一个平台——是多么重要。正因python和eclipse的跨平台,让我在linux上写代码,和Windows上写代码,完全没有区别了。曾经,Delphi有过Linux版本——kylix。想法很灿烂,可惜,当时的Borland已经渐入迷途,注定了kylix不会受到开源社区的欢迎(据说当时kylix开发组和社区吵架)。

其他的,看电影,听音乐,看图片,撰写doc、xls文件,用dropbox,输入法,聊天……几乎所有领域都有非常成熟的应用了。

solmyr一个多月前和我打赌,说我这台电脑肯定要改装成Windows,现在几乎可以肯定他要输了 :-D

目前能想到的,唯一必须在Windows上解决的问题,只有国内那帮IE only的网银了。不过,相信这个也会随着时间慢慢改善,至少,目前,我在Linux/Chromium上登陆建行的网银,以及支付宝,查帐,都没有问题的,只是不能支付(需要IE only的证书)。

软硬兼施 | 1 个评论 | 11,879 次阅读
简短地址:http://ncblog.net/800/
QQ国际版    @ 2010-11-13, 15:56

中国人制造的东西,如我们平时的认识,都是质量最好的,首先供出口给老外,而次品留给国人用。当然,如奶粉之类的,已经不是次品能形容的了。

这个“规则”,连QQ也不例外。QQ国际版(提供英语、法语、日文三种语言),不扫描硬盘(且先不论扫描硬盘是否涉及隐私泄露,至少严重影响性能),没有广告,没有弹窗,换IP地址登录,也不会要求输入验证码。当然,也不会检查你硬盘上是不是装了360。最重要的是,速度快,占用内存小,没有什么乱七八糟花里胡哨的东西。比TM干净多了。

如果你真的无法离开QQ,那么强烈推荐QQ国际版(http://download.imqq.com/download.shtml)。

软硬兼施 | 1 个评论 | 12,034 次阅读
简短地址:http://ncblog.net/799/
补充gentoo/xfce系统新安装的几个工具    @ 2010-11-02, 21:20

Xfce截屏插件:xfce4-screenshooter

PDF文件阅读器:Evince

CHM文件阅读器:chmsee (国人开源作品,对中文支持很好,试过一个chm文件,xchm打开目录部分乱码,chmsee正常)

(11月13日更新)
计算器:galculator
压缩解压插件:xarchliver
音乐播放器:audacious

软硬兼施 | 1 个评论 | 12,448 次阅读
简短地址:http://ncblog.net/792/
pidgin/msn    @ 2010-10-25, 11:02

pidgin的官方msn插件太滞后了,找到一个支持WLM的msn协议插件
http://code.google.com/p/msn-pecan/

Linux上,只需要解开原码包,make && make install 即可安装好。新建帐号类型选择WLM。

软硬兼施 | 评论已关闭 | 8,378 次阅读
简短地址:http://ncblog.net/782/
gentoo装上了Dropbox    @ 2010-10-23, 00:47

前几天一直想把dropbox装到新系统上,找到一个overlay的dropbox 0.7.110的ebuild,不过安装过程被狗日的GFW阻挠了。想通过vpn翻墙,不过一直没搞定。

今天在vps上直接从dropbox下载到了最新的dropbox 0.8.109的amd 64 linux版,然后ssh传回来解压缩,没想到直接就可以用了。很是有点欣喜若狂。因为是用的Xfce/thunar窗口管理器,找到一个thunar-dropbox插件

软硬兼施 | 评论已关闭 | 10,853 次阅读
简短地址:http://ncblog.net/781/