Archive for the Category » 其他技术 «

Haproxy/ Varnish/ Cherokee/ Nginx/ Lighttpd

最近在蹦心的开发环境下交叉对比测试了标题中各个牛X东东的组合架构,最后采用的结构是:

Haproxy->Varnish->Nginx/Cherokee/Lighttpd

前端使用Haproxy作为BigIP的负载均衡节点,最新版对双机热备、L7交换均有较好支持,友好的web状态监控也很不错;至于为什么不选择Varnish、Nginx或者LVS作为负载均衡,不多说了,具体问题可以和我探讨;

在Haproxy下挂载Varnish作为cache和二级负载分发处理层,考虑因素是比squid更好的可配置性和理论性能数据;

后端的web server优先考虑Nginx,其次进行了部分节点部署Cherokee,一方面为了测试性能,也是为了跟踪该软件后续升级后的表现,从目前我的测试环境来看,并非有Nginx性能好,因为从Haproxy的优先选择结果来看,更多的会选择Nginx后端分发请求,即使有weight优先的情况下。Lightpd逐渐的退出我们的系统了,更新的停滞和相对性能无优势的现状使得被我逐渐放弃。

其实从很多中小站点来说,对于使用Haproxy还是Varnish或者Nginx做负载均衡,差别都是不大的,理论的测试数据对中小站点来说,没有太多实际意义,选择一个最熟悉,配置最方便的才是最好的,综合实际情况来说,用Nginx作为负载均衡还是不错的,比如可以集中处理日志,灵活的配置文件语法可以方便的使用正则配置L7交换逻辑,这些都是很实际的。

随着蹦心的发展,将不断根据具体情况调整架构并且随时和大家分享经验。

开发环境下的haproxy监控,点击图片看大图

开发环境下的haproxy监控,点击图片看大图

建议大家用Google的Chrome浏览器访问蹦心

Google的Chrome浏览器在JS处理上速度明显快很多,它目前的JS引擎是要比其他浏览器要领先很多,尤其蹦心使用了Google地图的部分JS代码,使用Chrome浏览器能有效的提高速度,减小客户端的系统消耗,从我的使用来看,Chrome浏览器的体积不大,系统消耗小,明显比IE、TT等浏览器轻便快捷很多,建议大家使用,我已经把设置了至少5年的默认浏览器从TT变成了Chrome,目前的感受不错,早晨开到晚上不关闭,机器正常,浏览网页也保持了速度和稳定,目前发现的问题有不能拖拽文字和链接,还有屏幕取词软件貌似也有不能正常工作的情况,这些都是可以暂时忍受的小问题了 🙂

Chrome下载地址: http://www.google.com/chrome

Category: 其他技术  Tags: ,  6 Comments

蹦心针对SEO的URL rewrite部分优化

这次整理的主要是小组group和个人空间space两个部分,分别对Lighttpd和Nginx两种环境进行了配置,初步观察,百度对蹦心的收录正在改善 🙂

范例:
new url: http://www.bengxin.com/space/album-10068.html
old url: http://www.bengxin.com/space/album/index.php?uid=10068

欢迎大家给我提SEO的建议和蹦心改进的点子!

Category: 其他技术  Tags: ,  13 Comments

网站架构必须掌握的几把利器

LVS/HAProxy/Squid/Varnish/Nginx/Apache/Lighttpd

当然,如果有钱,可以使用F5/Alteon

如果想成为网站系统架构的运维高手,这些你都掌握了吗?另外,我的意思也不是说掌握了这些就一定是高手了 🙂 学无止境,人外有人!

Category: 其他技术  Tags:  12 Comments

3G手机开通一天试用报告

打拿到移动的TD测试手机后,隔了一个多礼拜,昨天晚上正式收到开通确认短信,于是赶紧测试各种功能,目前的大致情况如下:

1. 龙腾td290的机器实在破,里面连格式化存储卡的功能都没有,而且菜单设置非常不合理,免费的东西也就差不多这样了。
2. 测试用手机直接上移动网站看电视,比较流畅,第一感觉速度还是不错,然后想下载点儿歌,真是很费劲,转来转去都是绕进彩铃里面去了,实际上,和TD网络配套的3G服务应用目前整体感觉没有跟上,资源匮乏。
3. 测试了视频电话,画面基本能接受,还是能满足日常使用的,不过TD290手机的低端再次体现,没说几句话,明显感觉手机温度上升,而且扬声器导致的回音啸叫声经常出现。
4. 今晚测试用usb线连接笔记本拨号上网,感觉非常好,理论上的TD网络上行速度128Kbps和下行384Kbps效果不错,在百度mp3上搜了一首歌试听很流畅,然后去了六间房和优酷测试在线看视频,也很流畅,没有出现卡的现象,然后测试了用迅雷下载QQ软件,连接速度在35K上下,感觉很好。

总结: TD290机器太破、3G网络资源匮乏、视频电话基本满意、上网速度很不错。
接下来还有什么新的体验感受还得等我多用一段时间后再分享 🙂

下面是几张我连接笔记上网的截图:

百度听歌
百度听歌
more »

Category: 其他技术  Tags: ,  Comments off

让Editplus和SVN集成

很多人用Editplus, 但是修改了文件后,需要切换到文件目录,点击鼠标右键使用TortoiseSVN的提交菜单项来提交,需要增加很多鼠标点击和确认的操作,对于频繁修改的文件来说,非常麻烦,今天研究了一番,找到个好的解决办法:

先下载 http://www.sliksvn.com/pub/Slik-Subversion-1.5.2-win32.msi 安装上,这是一个在windows上提供标准svn命令行的工具,使用默认安装到C盘的相应目录下即可。

然后把我下面的文件内容复制后保存为tool.ini,存放在editplus的安装目录下。

启动editplus,打开一个svn里面的文件,修改一下,然后按 CTRL+1 即可方便的提交, 按 CTRL + 2 即可更新当前文件,是不是非常方便? 呵呵,绝对的原创内容!
tool.ini文件内容:
more »

Category: 其他技术  Tags: ,  17 Comments

给Firefox3增加baidu搜索并设置搜索默认打开新tab

默认情况下,firefox3使用Google作为搜索引擎,同时还不能直接配置添加baidu的搜索,可以找到你Firefox安装路径下的searchplugins目录,把下面的内容保存为baidu.xml放入该目录,回到firefox里面设置搜索引擎就可以了。
more »

Category: 其他技术  Tags: ,  2 Comments

高端的Intel S5000VSA主板

朋友推荐了一款Intel的高端主板S5000VSA,从参数来说,的确高端,搭配了两个至强4核CPU,8G内存,2T硬盘,但是真正让我感觉到的高端,不是这个,貌似就是让一般人无法轻松顺利的安装上系统才是真正的高端。

这板子让我晕了好几天,就是为了使用板载的RAID功能,研究半天用主板带的光盘配置好了RAID01, 结果更换了N种操作系统均未成功,不是根本不引导,就是安装不认RAID,还有就是认了也安装了,但是无法启动,想了N种办法均告失败,就在崩溃之际,居然给搞定了。

安装过程中,关键的三点:
1. 使用主板带的光盘启动Intel的主板配置程序,配置好RAID
2. 使用配送的光盘启动Intel主板配置程序,在这个里面选择和配置好需要安装的操作系统,尽量就是使用主板内置支持的三种系统之一,甚至包括版本也要一致。
3. 把光盘里面的RAID驱动拷贝出来或者去官网上下载存到USB盘里面,在Intel主板配置程序里面选择该驱动启动系统安装的进程。

现在说起来貌似简单,其实当你从拿到这块主板开始,如果不知道需要这样的过程,你真的会郁闷死了也搞不定。

Category: 其他技术  Tags:  2 Comments

svn:Can’t convert string from ‘UTF-8’ to native encoding

之前遇到一个问题,svn里面如果提交了中文文件名的文件或者包含其他特殊字符的文件名的文件,会导致linux或者freebsd上svn update/checkout的时候出现错误“svn: Can’t convert string from ‘UTF-8’ to native encoding”

这个问题是由系统字符集设置导致的,可以使用如下方法解决:
在bash的shell下,输入如下命令:
[coolcode]
#export LC_CTYPE=en_US.UTF-8
[/coolcode]

然后运行如下命令确认发生的变化如下:
[coolcode]
#locale
[/coolcode]
将得到如下的结果返回:
[coolcode]
LANG=
LC_COLLATE=”C”
LC_CTYPE=”en_US.UTF-8″
LC_MESSAGES=”C”
LC_MONETARY=”C”
LC_NUMERIC=”C”
LC_TIME=”C”
LC_ALL=
[/coolcode]

可以把以上内容直接加到svn的钩子里面,解决提交时自动输出处理遇到的问题。

Category: Linux / BSD, 其他技术  Tags:  3 Comments

也谈设计模式

最近可以用三个字来形容“忙”“乱”“烦”,其实我估计很多人也都这状态,如同家家有本难念的经,人人都有没法说的烦恼。

在这状态下,已经很久没有写一些跟技术相关的东西了,前两天想升级BSD的系统到最新的6.3版,结果cvsup了一个多小时源码树没有完,就心烦气躁的Ctrl+C放弃了,最近因为诸多项目启动,连续一周多写系统分析文档,一个项目一整就是三十来页的分析文档,其实还是很草的那种,实在也没有精力和心思给写得彻彻底底的,估计真完全弄踏实了,少说也得上百页才能算合格的系统分析文档。

写这两份文档的中间儿,想到了我的兄弟们在拿着文档开发过程中可能会面临的一些问题,其中最担心的就是在面向对象开发的时候面临的对象间关系处理问题,专业术语讲,那就是设计模式的问题。

这东西也老生常谈了,说实话,如同大学里面学的那几门计算机基础知识一般,设计模式实在很重要,貌似很基础的东西,一讲大部分都能明白,但是真正用起来和项目结合,还是一头雾水,这就跟咱们大学学数据结构一样,回想起来,有几个在后来工作中用过那些最基本的二叉树、链表、图一类的东西? 原来3721的老哥李钊说得很经典,中国为啥计算机科学落后,缺少的不是高级程序员,缺少的是对计算机基础知识理论理解透彻的人。很多武侠小说里面的高手,到最高境界不是会多少套路和拳法,而是用最简单的招式化解一切高深的套路。

相比之下,设计模式对于面向对象开发来说,有点儿类似的味道,会写类、继承、重载、抽象一类的东西不难,但是把这些东西用更简单的思路来看待和组织就有难度了,设计模式不是把他们复杂化,而是为了让问题更简单。把简单的东西发挥到极致比把复杂的东西学会往往更有价值。

说到这里,估计也看出我这还是没有在讲技术,是啊,一真进入技术话题,设计模式不是这么简单三言两语能说明白的,常见的23种模式,经典的21种,随便一种都得且说呢,记得看过一个哥们的blog上用星际争霸的实现思路来讲述了大部分的设计模式基础,感觉真不错,大家可以google一下。

今天写这些,主要是因为最近的几个项目系统分析文档中涉及到不少地方需要运用设计模式,于是乎准备在最近给我的兄弟们找个时间讲堂课,说说常见的设计模式的应用,最近正准备动手弄个PPT,所以就先酝酿酝酿思路和情绪。

真正有兴趣、有决心、有信心、有恒心深入一下的朋友,去看看这本书吧:《设计模式》,经典至极,该书作者均是国际公认的面向对象软件领域的专家,号称“四人帮”。