November 29, 2011
raid演示flash
"本文件为exe格式的.点击下载: http://blog.haohtml.com/wp-content/uploads/2011/10/raid.exe"
November 29, 2011
magent编译及常见错误解决办法
"# 编译magent\ncd /home/lnmp/src mkdir magent cd magent/ wget http://memagent.googlecode.com/files/magent-0.5.tar.gz tar zxvf magent-0.5.tar.gz /sbin/ldconfig \u0026amp;\u0026amp; sed -i “s#LIBS = -levent#LIBS = -levent -lm#g” Makefile make mkdir -p /usr/local/webserver/magent/bin cp magent /usr/local/webserver/magent/bin/magent cd ../\n错误1:\ngcc -lrt -Wall -g -O2 -I/usr/local/include -m64 -c -o magent.o magent.c magent.c: In function ‘writev_list’: magent.c:729: error: ‘SSIZE_MAX’ undeclared (first use in this …"
November 29, 2011
Memcached代理软件 magent
"magent是一款开源的Memcached代理服务器软件。 命令参数:\n-h this message -u uid -g gid -p port, default is 11211. (0 to disable tcp support) -s ip:port, set memcached server ip and port -b ip:port, set backup memcached server ip and port -l ip, local bind ip address, default is 0.0.0.0 -n number, set max connections, default is 4096 -D don\u0026#39;t go to background -k use ketama key allocation algorithm -f file, unix socket path to listen on."
November 29, 2011
memcached 集群单点故障解决方案
"magent是一款开源的Memcached代理服务器软件,其项目网址为: http://code.google.com/p/memagent/\n一、安装步骤: 1、编译安装libevent:\nwget http://monkey.org/~provos/libevent-1.4.9-stable.tar.gz tar zxvf libevent-1.4.9-stable.tar.gz cd libevent-1.4.9-stable/ ./configure --prefix=/usr make \u0026amp;\u0026amp; make install cd ../ 2、编译安装Memcached:\nwget http://danga.com/memcached/dist/memcached-1.2.6.tar.gz tar zxvf memcached-1.2.6.tar.gz cd memcached-1.2.6/ ./configure --with-libevent=/usr make \u0026amp;\u0026amp; make install cd ../ 3、编译安装magent:\nmkdir …"
November 24, 2011
由浅入深理解索引的实现
"00 – 背景知识\n– B-Tree \u0026amp; B+Tree\nhttp://en.wikipedia.org/wiki/B%2B_tree\nhttp://en.wikipedia.org/wiki/B-tree\n– 折半查找(Binary Search)\nhttp://en.wikipedia.org/wiki/Binary_search_algorithm\n– 数据库的性能问题\nA. 磁盘IO性能非常低,严重的影响数据库系统的性能。\nB. 磁盘顺序读写比随机读写的性能高很多。\n– 数据的基本存储结构\nA. 磁盘空间被划分为许多大小相同的块(Block)或者页(Page).\nB. 一个表的这些数据块以链表的方式串联在一起。\nC. 数据是以行(Row)为单位一行一行的存放在磁盘上的块中,如图所示.\nD. 在访问数据时,一次从磁盘中读出或者写入至少一个完整的Block。\nFig. 1\n01 – 数据基本操作的实现\n基本操作包括:INSERT、UPDATE、DELETE、SELECT。\n– SELECT\nA. 定位数据\nB. 读出数据所在的块,对数据加工\nC. 返回数据给用户\n– …"
November 22, 2011
varnish英文手册生词
"当客户端请求相同的页面时.varnish只发送一个请求到后端(backend)机器,等后面返回数据信息的时候再copy多份\nserve – 服务\nplethora – 过多\nencounter – 遇到\nhopefully – 希望\nGuru – 领袖\nmeditation – 冥想\nrelevant – 有关\nprobably – 可能\nclue – 线索\nransaction – 交易\nelaboration – 拟定\nfurther – 进一步\nvarious – 各种\nDirector – 主任\nresilience – 弹性\ndistribute – 分发\nprobe – 探头\nstale – 陈旧\ncoalesce – 合并\nidentical – 相同\nshield – 盾\nMisbehave – 胡作非为\nability – 能力"
November 22, 2011
如何构建千万用户级别后台数据库架构设计的思路
"【 导读】\n关于如何构建千万级别用户的后台数据库架构话题,在ITPUB及CSDN论坛都有不少网友提问,新型问答网站知乎上也有人提问,并且顺带梳理了下思路,方便更多的技术朋友有章可循,整理一篇抛砖引玉性的文章。\n一、 技术朋友给出的背景资料:\n(1). 网站型应用,主要指:SNS社交网站、新闻门户型网站、邮件系统、SNS Game社交游戏、电子商务网站、即时通信IM等类型系统;\n(2). 注册用户为千万级别,也即1KW注册用户以内;\n二、要求\n构建千万级别用户的后台数据库架构分析思路,对数据层架构设计的有章可循,必须考虑数据量的大小,以及数据库提供服务的性能和系统的可靠性,适当地考虑用户量超过,以及需要使用的服务器资源等信息。\n三、构建千万级别用户的后台数据库架构的分析思路\n曾经发过一篇文章,关于千万级别用户应用架构设计的歌谣,供大家参考 千万级架构设计诀窍,接下来我们针对如何构建千万级别用户的后台数据库架构,给出通用性分析思路的建议,未必完全靠谱,但求基本靠谱(注:毕竟很多事情需要看具体业务而定的):\n(1). 一定要区分业务类型,可能达到千万用户级别的应用业务场景,可归类描述为: …"
November 21, 2011
图解”How MySQL Replication Works”
"示意图: 在使用MySQL的应用中,如果你的MySQL Server压力逐渐增大,在应用层优化已经到了一定瓶颈时,那么你应该首先考虑 MySQL_Replication。本文将利用图示的方式简单的描述出MySQL Replication是如何工作的。\n如何同步\n主库将所有的更新操作,写入二进制日志。 从库运行”IO线程”(Slave IO Thread)读取主库的二进制日志。 从库运行”SQL线程”(Slave SQL Thread)执行IO线程(Slave IO Thread)读取的日志中的SQL,从而保持和主库的一致。 如何分配请求\n目前,这部分需要在应用层实现。 执行更新SQL(UPDATE,INSERT,DELETE)时,请求主库。 执行查询SQL(SELECT)时,请求从库。 所以,当你的应用(Application)SELECT请求所占的比率越大,那么Relication就会越有效。\n相关教程:\nMySQL传输二进制日志原理:"
November 21, 2011
MySQL传输二进制日志原理
"摘自:\nMySQL Replication可以很方便的用来做应用的读扩展,也可以帮MySQL实现一定程度的HA方案。MySQL通过向备库传送二进制日志来实现Replication,本文将通过二进制日志相关源代码的主要接口来解释:“MySQL如何传输二进制日志,是主库推,还是备库拉?MySQL日志传输的实时性如何?”。\n在MySQL Replication结构中,备库端初次通过CHANGE MASTER TO完成Replication配置,再使用start slave命令开始复制。更细致的,备库通过IO Thread向主库发起读取binlog的请求(COM_BINLOG_DUMP命令),主库收到COM_BINLOG_DUMP请求后,使用单独线程(dump thread)不断向备库IO Thread发送Binlog。示意图:\n在主库端一旦有新的日志产生后,立刻会发送一次广播,dump线程在收到广播后,则会读取二进制日志并通过网络向备库传输日志,所以这是一个主库向备库不断推送的过程;\n新日志在产生后,只需一次广播和网络就会立刻(\u0026lt;1ms)向发送到备库,如果主备之间网络较好的话(例 …"