Author Archives: yafei

为wikipedia捐助

踩着2009年的尾巴,跑到wikipedia的捐助页面,用信用卡刷了$20。这个想法由来已久,几个月前注意到开始这个捐助项目时,这个总金额750万美元的项目募集了不到三分之一,当时就动了捐助的念头。最近看到时已经到660万美元了,在这个不是太顺利的一年快要走完的时候,我希望完成这个心愿。 说到捐助的原因,其实很直接。维基百科是让我觉得对我帮助最大的几个网站之一。基于非盈利非商业的前提下,维持服务器、机房等费用的来源只有捐助。所以捐助一笔也是我应该做的回报方式。同时,维基百科在促进全世界信息知识的流通和共享方面发挥了不可替代的作用,而促进信息的流动分享,也是我一直以来的理想。 这个链接是维基百科创始人关于捐助的公开信。如果平日因为维基百科而受益,并且有意贡献,或者只是对这个事情感兴趣,请猛击: http://wikimediafoundation.org/wiki/Appeal2/zh-hant 捐助的支付方面,可以用信用卡 或者 Paypal。国内普通的双币信用卡,支付美元即可(我没有试过支付港币),我用的招行的。 ps. 支付的时候有一个页面可能是因为墙或者碰巧其他什么网络故障,结果页访问不到。于是我再提交了一次,最终捐助了两份$20(这倒不是个杯具)。大家捐助时遇到结果页无法访问的话,可以先等一等信用卡支付成功的短信,我这里大概延迟几分钟收到。

Posted in Web | 4 Comments

Thrift – 开源多语言RPC框架

RPC (wiki) 在大规模的互联网应用后端技术中非常常见,我们熟悉的搜索引擎、门户、网游服务器等,后端实现中都有涉及。主要原理是基于内网 socket 解决多机多模块之间的数据通讯问题。或者可以简单理解为,将单机的进程间通讯 (IPC) (wiki),扩展到多机通讯,解决可扩展性问题。 Thrift 是由 Facebook 开源的一个 RPC 框架,现在已经挂在 apache.org 下了。主要的几个好处: 支持非常多语言,包括在 WEB 开发中很常用的 PHP,以及最重要的 C++/Python/Java 等 WEB后端常用语言,当然,还包括很 cool 的 Ruby、Erlang。 完整的 RPC 框架实现,用脚本生成通讯相关的框架代码,开发者只需要集中精力处理好业务逻辑。比如搭建一个 Hello World Service 只需要几分钟。 拥有被 Facebook、Last.fm 等不少大规模互联网应用验证过的性能和可用性。 在 PRC 通讯方面,其实已经成熟多年。比如百度内部是自己定制的二进制协议,比如C++下使用较多的 ACE 框架。而 … Continue reading

Posted in 技术 | 6 Comments

单机启动多个MySQL Server

有时候我们需要在一台服务器启动多个 MySql Server。有一个方法是使用官方的多server管理工具 mysqld_multi ,适合多server运行时的管理,有专用的配置项方便日常管理维护。或者如果不想用 mysqld_multi,我们看看幕后都做了什么,简单的自己动手配置一下。 这篇来讲讲怎么通过自己配置,启动多个mysqld。 无论是发行版包管理工具安装的,还是自己编译安装的,都会默认读取 my.cnf 文件,位置一般是 /etc/my.cnf 、$MYSQL_HOME/my.cnf 等。发行版包管理工具一般只会安装在固定的位置,不方便同时装两个 mysql server。自己编译的话,也不方便临时再 install 到其他位置和读取另外的 my.cnf 文件。 参考 MySQL 官方手册的内容,使用现有的mysql系列可执行程序,在启动server和client时,指定 –defaults-file 参数,即刻达到效果。 1、编辑一个新的 my.cnf 文件用于新的server sudo cp /etc/my.cnf /etc/my.2.cnf sudo vim /etc/my.2.cnf 修改配置,防止和原有配置冲突。主要需要修改的有: 端口(port)、socket 文件路径 (socket)、数据文件路径 (datadir); 如果用到 … Continue reading

Posted in 技术 | Tagged | Leave a comment

linode的VPS主机

这个blog是架在 VPS(wiki)主机商 linode.com那里的。 VPS基于虚拟机,相当于提供了完整的root ssh访问权限,和操作一台普通的Linux服务器没有区别,适合和我一样愿意折腾的同学们。 当初购买价格是360MB内存,$19.99/month。和朋友一起买的,一个人买有点贵。初步使用感觉主要还是内存有些不够用,尤其是平时用主流Web Server习惯了,很少考虑内存问题。但实际观察了一下,一个apache进程启动后占5MB,一旦有一次访问,加载了mod_php之后就跳到二三十MB。apache自己prefork几个进程,就吃掉一大块内存。至于硬盘和流量,暂时还不是瓶颈。 目前有口碑的两家VPS主机商是 linode.com 和 slicehost.com,当时买的时候比较了一下,slicehost单价更贵,于是选了linode。

Posted in Web | 6 Comments

读《MySQL性能调优与架构设计》

《MySQL性能调优与架构设计》(豆瓣链接)(卓越链接)是阿里巴巴的DBA 简朝阳的书。 前段时间读了一下,综合来说还不错,少有的几次读的很畅快的书之一了。作者对MySQL的各部分知识掌握扎实全面,有不少内容是需要深入了解MySQL运行机制后才有的结论。 书分基础、优化、架构三部分。 基础篇 各种介绍,属于初步了解MySQL的程序员和DBA入门需要掌握的基础知识。 性能优化篇 展开讲了MySQL常遇到的各种锁机制、Server参数调优、存储引擎调优、Query优化等等。对MySQL性能调优相关内容有兴趣的话,读起来会比较有兴趣。这里涉及的知识是有一两年经验的LAMP程序员和DBA应当了解的相对高级一些的技巧和内部实现原理。 架构设计篇 展开讲了Replication复制原理、Cluster、大型系统的DB切分方案、监控。其中Cluster因为之前一直生产环境下可行性不高,我不太熟悉。Replication部分是比较基本需要了解的。数据切分虽然篇幅比较长,但介绍的比较泛,可能因为面向DBA有关,在与应用程序的结合上表述不多,实际应用时还有许多细节需要考虑。监控方面值得参考,结合附录Server status和variables参数含义一起理解,是目前不多的对监控介绍比较全面的资料。 此外,有一个小遗憾是第一版笔误和文字错误较多,以及部分内容因为篇幅所限略显不够严谨,虽然这些都不影响这是一本对MySQL爱好者不错的书。好消息是第一次印刷因为卖的好,基本上已经卖完了。作者在blog上更新了勘误表,部分勘误已经交付第二次印刷,新买到的应该会好不少。

Posted in 技术 | Leave a comment

这是一个技术blog

从06年工作之后,就基本暂停了技术blog的写作,更多的是忙于工作上的事。写这个blog是希望积累知识,也是督促自己整理。 主题范围主要是LAMP平台下的各种后端技术(性能、架构、存储等)。

Posted in 心得 | 6 Comments