Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7591087 建立时间:2006年5月29日 |

| |
[MySQL]MySQL索引分析和優化+JOIN的分類 软件技术
lhwork 发表于 2006/12/26 9:01:16 |
join :
左右合併
inner join : 只顥示符合修件的資料列 (左右互相比對)
left join : 顥示符合條件的右資料列及左邊不符合條件的資料列 (此時右邊的資料會以 NULL 顯示)
right join : 顥示符合條件的左資料列及左邊不符合條件的資料列 (此時左邊的資料會以 NULL 顯示)
full join : 顥示符合條件的料列及左邊+右邊不符合條件的資料列 (此時缺乏資料的資料列會以 NULL 顯示)
cross join : 直接將一個資料表的每一筆資料列和另一個料表的每一筆資料列搭配成新的資料列
seif-joins : 自己join 自己
更多 :
union : 合併多個查尋結果 (上下垂直合併)
subquery : 子查尋
index :
索引可以加快查尋速度,以平衡樹結構存放索引資料 .
例如:
當我們要找編碼N的記錄時,可從 |
|
[MySQL]Mysql两台主服务器一台从服务器做同步搭建通过测试!!!!! 软件技术
lhwork 发表于 2006/12/25 18:12:59 |
操作系统:Linux 2.6.13 (Slackware),其它版的Linux应该也差不多.
数据库:Mysql 4.1.8 源程序安装
假设服务器名:test-db1 (IP为192.168.0.1),主
假设服务器名:test-db2 (IP为192.168.0.2),主
假设服务器名:test-db3 (IP为192.168.0.3),从
二,test-db1主服务器mysql安装准备
用mysql源程序安装,假设在安装时用的configura选择项下如,解压后:
./configure
make
make imstall
chown mysql.mysql /usr/local/mysql/var
cp ../support-files/ my-medium.cnf /etc/my.cnf
cp ../support-files/mysql.server /etc/rc.d/rc.mysql |
|
[网站架构]bind dlz - 分布式系统的请求分发工具 软件技术
lhwork 发表于 2006/12/25 17:36:55 |
bind dlz全称是bind dynamic loadable zones,是基于bind的提供的一个组件,作用看名字就知道了,支持动态域加载支持。
bind已经有很久的历史,目前是搭建DNS服务器的首选。对于一般网站来说,一个标准的bind已经完全可以完成所有dns解决的工作,但在海量域名数量的情况下,bind也确实存在着一些问题:
1、域名解析信息全部存储在文本文件中,这非常容易导致由于编辑出错导致的域名解析出错。
2、bind运行时将全部的解析信息放在内存里,如果数量巨大将可能出现内存不足的情况,同时解析信息重新加载时所耗费的时间也非常值得考虑,由于加载时间较长,所以基本可以不考虑动态的进行域名的调整。
dlz就是为了解决这个问题而针对bind开发的组件,可以将域名解析信息放在数据库中,从而避免域名信息变动时重新加载的时间,在变动后马上生效。
dlz支持多种数据存储形式,包括文件系统,Ber |
|
[网站架构]imageMagick图片处理工具 软件技术
lhwork 发表于 2006/12/25 17:36:26 |
ImageMagick是一套Linux下的开源图形处理工
具,针对几乎所有的图片格式提供比较全面的图片处理功能。不像windows下的photoshop,先要双击运行,然后打开图片,然后才能对图片进行处
理,ImageMagick可以直接在命令行下运行,加上几个参数,就可以得到想要的图片了,而大批量的处理图片也比photoshop简单的多,写个
shell多循环几次就可以了。
假如我想给图片加个框,转一下,再加个阴影,输入以下的命令就可以了:
convert -size 400x180 hatching.jpg -thumbnail '200x90>' \
-bordercolor white -border 6 \
-bordercolor grey60 -border 1 \
-background none -rotate 6 \< |
|
[网站架构]使用Red5和FFMpeg搭建在线Flash流媒体分享平台 软件技术
lhwork 发表于 2006/12/25 17:35:08 |
最近视频的东西比较火,前些天我也稍微了解了一下使用开源软件建在线Flash流媒体播放平台的解决方案,还是有一些收获。
Red5是一款基于java的开源的Flash流媒体Server
软件,可以作为取代Macromedia提供的商业版本FMS。Red5使用RSTP作为流媒体传输协议,内置了一些示例,这些示例实现了在线录制,
flash流媒体播放,在线聊天,视频会议等一些基本的功能。由于系统本身是开源的,在碰到问题的时候也比较容易解决,大不了直接改代码,在成本方面也可
以省下一笔不小的开销,为未来的功能扩展也提供了充分的空间。
如果仅仅是实现在线录制,在线播放,那么Red5也就差不多够了,但可能我们有时候还需要用户上传自己拍摄的视频文件,而要把这些视频文件转成可播放的flv文件就需要视频编码软件了。FFMpeg提供了录制,播放,视频流处理的完整解决方案。它自身也带了一个基于HTTP |
|
[网站架构]FeedBurner:基于MySQL和JAVA的可扩展Web应用 软件技术
lhwork 发表于 2006/12/25 17:33:44 |
FeedBurner(以下简称FB,呵呵)我想应该是大家耳熟能详的一个名字,在国内我们有一个同样的服务商,叫做FeedSky。
在2004年7月份,FB的流量是300kbps,托管是5600个源,到2005年4月份,流量已经增长到5Mbps,托管了47700个源;到
2005年9月份流量增长到20M,托管了109200个源,而到2006年4月份,流量已经到了115Mbps,270000个源,每天点击量一亿次。
FB的服务使用Java实现,使用了Mysql数据库。我们下面来看一下FB在发展的过程中碰到的问题,以及解决的方案。
在2004年8月份,FB的硬件设备包括3台Web服务器,3台应用服务器和两台数据库服务器,使用DNS轮循分布服务负载,将前端请求分布到三台
Web服务器上。说实话,如果不考虑稳定性,给5600个源提供服务应该用不了这么多服务器。现在的问题是即使用了这么多服务器 |
|
[网站架构]mixi.jp:使用开源软件搭建的可扩展SNS网站 软件技术
lhwork 发表于 2006/12/25 17:33:11 |
Mixi目前是日本排名第三的网站,全球排名42,主要提供SNS服务:日
记,群组,站内消息,评论,相册等等,是日本最大的SNS网站。Mixi从2003年12月份开始开发,由现在它的CTO - Batara
Kesuma一个人焊,焊了四个月,在2004年2月份开始上线运行。两个月后就注册了1w用户,日访问量60wPV。在随后的一年里,用户增长到了
21w,第二年,增长到了200w。到今年四月份已经增长到370w注册用户,并且还在以每天1.5w人的注册量增长。这些用户中70%是活跃用户(活跃
用户:三天内至少登录一次的用户),平均每个用户每周在线时间为将近3个半小时。
下面我们来看它的技术架构。Mixi采用开源软件作为架构的基础:Linux 2.6,Apache 2.0,MySQL,Perl
5.8,memcached,Squid等等。到目前为止已经有100多台MySQL数据库服务器,并且在以每月10多台的速度增长。Mixi的数据库连
接方式采用的是每次查询都进行连接,而不是持久连接。 |
|
[网站架构]从LiveJournal后台发展看大规模网站性能优化方法 软件技术
lhwork 发表于 2006/12/25 17:24:15 |
一、LiveJournal发展历程
LiveJournal是99年始于校园中的项目,几个人出于爱好做了这样一个应用,以实现以下功能:
博客,论坛社会性网络,找到朋友聚合,把朋友的文章聚合在一起
LiveJournal采用了大量的开源软件,甚至它本身也是一个开源软件。
在上线后,LiveJournal实现了非常快速的增长:
2004年4月份:280万注册用户。2005年4月份:680万注册用户。2005年8月份:790万注册用户。达到了每秒钟上千次的页面请求及处理。使用了大量MySQL服务器。使用了大量通用组件。
二、LiveJournal架构现状概况
![livejournal_backend.png]() |
|
[网站架构]使用memcached进行内存缓存 软件技术
lhwork 发表于 2006/12/25 17:23:42 |
通常的网页缓存方式有动态缓存和静态缓存等几种,在ASP.NET中已经可以实现对页面局部进行缓存,而使用memcached的缓存比
ASP.NET的局部缓存更加灵活,可以缓存任意的对象,不管是否在页面上输出。而memcached最大的优点是可以分布式的部署,这对于大规模应用来
说也是必不可少的要求。
LiveJournal.com使用了memcached在前端进行缓存,取得了良好的效果,而像wikipedia,sourceforge等也采用了或即将采用memcached作为缓存工具。memcached可以大规模网站应用发挥巨大的作用。
Memcached是什么?
Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。M |
|
[网站架构]初创网站与开源软件 软件技术
lhwork 发表于 2006/12/25 17:23:13 |
前面有一篇文章中提到过开源软件,不过主要是在系统运维的角度去讲的,主要分析一些系统级的开源软件(例如bind,memcached),这里我
们讨论的是用于搭建初创网站应用的开源软件(例如phpbb,phparticle),运行在Linux,MySQL,Apache,PHP,Java等
下面。
创业期的网站往往采用比较简单的系统架构,或者是直接使用比较成熟的开源软件。使用开源软件的好处是搭建速度快,基本不需要开发,买个空间域名,下个软件一搭建,用个半天就搞定了,一个崭新的网站就开张了,在前期可以极大程度的节约时间成本和开发成本。
当然使用开源软件搭建应用也存在一些局限性,这是我们要重点研究的,而研究的目的就是如何在开源软件选型时以及接下来的维护过程中尽量避免。
一方面是开源软件一般只有在比较成熟的领域才有,如果是一些创新型的项目很难找到合适的开源软件,这个时候没什么好的解决办法,如果非要用开源的话
一般会找一个最相似的改一下。实际上目前开源的项目也比较多了,在sf.net上可以找到各种各样的开源项目。选型的时候尽量应 |
|
|