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

| |
[网站架构]Apache rewrite技术实现Apache到lighttpd迁移 软件技术
lhwork 发表于 2006/12/27 15:15:46 |
毫无疑问Apache是一个优秀的web
server,但它也不万能的,在一些特定的环境下,也有Apache力不从心的时候。手上一台server由于瞬间高密度的访问非常多,因此
Apache
1.3.x应付起来有点吃力,表现为响应速度慢,而且非常耗资源,Swap经常都是占满的。有一两次还导致机器负载过高(高达30-40,有个别时刻居然
达到150之巨),感觉要死机的样子。 uX7#: [V 0[S(1S) 为此,必须寻求一个解决之道。分析之下,这台server目前的情况主要是由于运行了大量的fastcgi应用,而且这些应用的并发非常密集,平时白天就有200-300个连接,厉害的时候有近1000个在用进程。apache的运行情况top如下:
阅读全文(2556) | 回复(0) | 编辑 | 精华 | 删除 |
| | |
[网站架构]如何用Squid来实现Ajax跨域代理 软件技术
lhwork 发表于 2006/12/27 15:15:21 |
什么是Ajax跨域代理?
玩Ajax的应该知道我在说什么:) 简单说就是因为浏览器的安全限制,你不能直接获取你站点以外的xml文档。
为什么用Squid来做?
你完全可以自己写一个代理小程序,比如用php,这方面的资料网上很多。 Squid是一个应用非常广泛、功能强大的代理服务器软件,用它自然是为了获得高效。
需要哪些软件?
Lighttpd(Apache)、Squid、squirm。 我这里以lighttpd为例,你完全可以用apache来代替。 这里介绍一下squirm,这是一款为squid量身定做的redirector程序,支持 正规表达式 ,至于什么是redirector下面的工作原理你会知道它的作用。 系统平台:理论上支持上述软件的应该都可以(比如选择常见的linux),我这里以freebsd为例。
工作原理
用Lighttpd(Apache)的proxy模块作 |
|
[网站架构]Apache 限制流量 软件技术
lhwork 发表于 2006/12/27 15:12:16 |
這篇由永遠學不會所提問的問題,老闆問他在 Apache 裡有沒有辦法限制每個 user 的流量限制 ? 若問我的話一定掛在那,這個問題我倒是從來沒有想過 ~ 今晚就來實作一下
在 Apache 上要做到流量限制的套件有 mod_bandwidth 、 mod_throttle 與 mod_cband ~
前二個適用於 Apache 1.3.x 版本,不過我升級到 Apache 2.x 很久了,所以前二個套件就不研究了。取而代之在 Apache 2 可以 work 的套件就是 mod_cband
引用一下 The FreeBSD Ports Archive mod_cband 這篇文章:
mod_cband
is an Apache 2 module provided to solve the problem of limiting
virtualhosts bandwidth usage. When the configured virtualhost’s
transfer limit is exceeded, |
|
[网站架构]Linux下Apache 1.3并发连接数和带宽控制 软件技术
lhwork 发表于 2006/12/27 15:11:30 |
Linux+Apache的稳定性、安全性和性能以及低廉的价格正在赢得越来越多的市场份额,使用Linux+Apache作网站服务器的朋友也越来越
多,而Apache作为一种http服务,相比FTP总是不容易控制,特别是当网站以http方式提供软件/音乐下载时,若是每个用户都开启多个线程并没
有带宽的限制,将很快达到http的最大连接数或者造成网络壅塞,使得网站的许多正常服务都无法运行。不过,Apache的使用者们早已开发出了
mod_limitipconn和mod_bandwidth两个模块,来控制http的并发连接数和用户所能够使用的带宽,下面将以RedHat
Linux 7.3+Apache 1.3.7来说明它们的使用方法。
一、使用mod_limitipconn限制Apache的并发连接数
mod_limitipconn可以控制每个IP地址同时连接服务器某一个目录的并发连接数,是一个非常有用的模块,其官方网页是http:
//dominia.org/djao |
|
[网站架构]Lighttpd+Squid+Apache搭建高效率Web服务器 软件技术
lhwork 发表于 2006/12/27 15:09:04 |
架构原理
Apache通常是开源界的首选Web服务器,因为它的强大和可靠,已经具有了品牌效应,可以适用于绝大部分的应用场合。但是它的强大有时候却显得笨重,配置文件得让人望而生畏,高并发情况下效率不太高。而轻量级的Web服务器Lighttpd却
是后起之秀,其静态文件的响应能力远高于Apache,据说是Apache的2-3倍。Lighttpd的高性能和易用性,足以打动我们,在它能够胜任的
领域,尽量用它。Lighttpd对PHP的支持也很好,还可以通过Fastcgi方式支持其他的语言,比如Python。
毕竟Lighttpd是轻量级的服务器,功能上不能跟Apache比,某些应用无法胜任。比如Lighttpd还不支持缓存,而现在的绝大部分站点
都是用程序生成动态内容,没有缓存的话即使程序的效率再高也很难满足大访问量的需求,而且让程序不停的去做同 |
|
[网站架构]网站同步镜像 软件技术
lhwork 发表于 2006/12/27 14:59:02 |
1.介绍
现在的网站随着访问量的增加,单一服务器无法承担巨大的访问量,有没有什么方便快捷的方式解决这个问题呢,答案是”有”!比如建立服务器群,进行均衡负载. 但是如果要解决像电信网通这样的互访问题(中国网民的悲哀..),这个解决办法就无能为了了! 要解决这个问题最方便快捷的方式就是建立镜像网站!由访问者自己选择适合自己网络的速度最快的网站!这样即可以解决线路问题,又可以解决访问量问题!
2.网站同步的数据分类
网站数据基本分为两类: 一类是文件,比如HTML,ASP,PHP等网页文件,或者RAR,ZIP,RM,AVI等可下载文件! 要实现他们的同步很简单,用FTP同步软件就可以了!至于哪几个我会在后面做详细介绍.
一类是数据库数据文件,比如MySQL,SQL Server等等! 数据库同步的方法也很多,最简单的办法只是将数据库目录同步一下就OK了! 在后面我也会做详细讲解!
3.网站文件的同步
在这里用到的主 |
|
[网站架构]数据缓存策略 软件技术
lhwork 发表于 2006/12/27 12:03:17 |
(一)hibernate数据缓存策略 缓存是数据库数据在内存中的临时容器,它包含了库表数据在内存中的拷贝,位于数据库与数据访问层之间。对于查询操作相当频繁的系统(论坛,新闻发布等),良好的缓存机制显得尤为重要。 ORM在进行数据读取时,首先在缓存中查询,避免了数据库调用的性能开销。ORM的数据缓存应包含下面几个层次: 1)事务级缓存 2)应用级缓存 3)分布式缓存具体针对Hibernate而言,采用两级缓存策略,其过程描述: (1)条件查 |
|
[网站架构]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 \< |
|
|