随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容易发生服务器响应速度变慢甚至服务中断。为了避免这种情况,需要一种能够真实模拟大量用户访问Web应用系统的性能测试工具进行压力测试,来测试静态HTML页面的响应时间,甚至测试动态网页(包括ASP、PHP、JSP等)的响应时间,为服务器的性能优化和调整提供数据依据。

  我推荐各位Web 2.0开发测试人员使用Microsoft 的Web Application Stress Tool这个工具软件,这个微软提供的小工具仅9.58M,很小巧且实用。虽然功能上比不了专业的LoadRunner,但LoadRunner体积庞大,价格不菲,一般的企业也不会花那么多钱去购买LoadRunner,而微软的WAS则是完全免费,并且主要的功能都有,够用就行。

   Microsoft Web Application Stress Tool能有效测试一个网站的负载性能,这个软件可以通过脚本模拟100个强并发用户的访问,并模拟实际用户的一些点击操作,WAS还可以连接上远程 Windows网站服务器的性能计数器(Performance Counter),通过对服务器性能(CPU/内存等)的性能分析来找到系统的瓶颈。CPU使用百分比反映了处理器开销,CPU使用百分比持续地超过 75%是性能瓶颈在于处理器的一个明显的迹象。

  每次测试运行结束后WAS会生成详细的报表,WAS报表可以从View菜单选择Reports查看。

  另外,CSDN也总结了一些其他的测试工具,包括性能测试工具和功能测试工具,前十大测试工具排名如下:
前提:
Lamp架构(原理上虽然jsp,.net等都一样,但我现在只懂php了)

1.用户对准确度的要求是不一样的.银行会要求客户帐上的钱的数目永远是精确的,但是论坛的在线人数,贴子数没这个必要.每天有成千上成的贴子发表。谁会去对质?我们只半个小时算一个甚至每天算一次就行了.所以,应用中要是没加Cron,那就肯定不是一个好应用.想象一下awstats,每当你的老板让你给演示一下前一周的访问周数据时,它就嘎吱嘎吱地算上老半天,然后在你的老板快要睡着时IE终于弹出一个页:服务器超时…. 你就知道要把一些服务设为定时跑一次,而不是时时保持最新最准确了
2.瓶颈永远是先在CPU/内存/磁盘IO中的一个出现.他们很少是同时告急的.因此,针对这个设计一个.比如:某台服务器上CPU占用平均为60%左右,而内存占用是5%左右。那么我们可以预先猜测,CPU资源会首先占尽。由于日志显示占用CPU最多的是mysqld进程,说明mysql查询耗尽了 CPU.再查之,原来是贴子主题太多,一个表有上G大小,索引不当.
找到问题,于是马上做出改进.原来的URL已经优化成***.com/topic/10/10001.html, ***.com/topic/12/12001.html…这样的了,但其实后台是用rewrite的.而id从1到100,000的主题都因为已经太老,无人参与回复了,所以没必要每次都查库.马上写个脚本,将***.com/topic/1.html…. ***.com/topic/10/10001.html…这些页面都读下来,保存为web根下/topic/***/***.html文件。现在这些文件是实际存在的了,Apache会优先读这个静态文件,而不是适用rewriterule了.
(注:我的apache 的rewrite规则是这样写的,这样文件找不到的时候会交给index.php来处理.

Varnish 不指定

Category : 架构与部署 | Post on 2007/12/08 01:58 by leftleg | Comments:2
近日 Varnish 这款直接针对  squid 的反向代理软件 来势凶猛,众多兄弟也投入使用,至今还未有 缺陷记录,似乎很和谐。于是也测试下下 ...

优点: varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang (http://www.vg.no) 使用3台Varnish代替了原来的12台squid,性能居然比以前更好。

varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squid cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。

Varnish官方网站: http://www.varnish-cache.org/

1.下载源码包编译安装:

cd /usr/local/src && wget http://nchc.dl.sourceforge.net/sourceforge/varnish/varnish-1.1.1.tar.gz
tar zxvf /usr/local/src/varnish-1.1.1.tar.gz
cd /usr/local/src/varnish-1.1.1
./autogen.sh
./configure --enable-debugging-symbols --enable-developer-warnings --enable-dependency-tracking
注:如果你的gcc版本是4.2.0或更高的版本,可以加上--enable-extra-warnings编译参数,在出错时,得到附加的警告信息。
我这里是用源码包安装的,如果你是redhat或centos可以用rpm包来安装(rpm下载位置:http: //sourceforge.net/project/showfiles.php?group_id=155816&package_id=173643&release_id=533569).

2. 建立cache目录:

mkdir -p /cache/varnish/V  && chown -R nobody:nobody /cache

cc攻击与ddos 的区别 不指定

Category : 架构与部署 | Post on 2007/09/27 16:43 by leftleg | Comments:0
前段时间上海一家游戏娱乐公司的网站遭到了基于页面请求的DDOS分布式拒绝服务攻击,网站陷入完全瘫痪状态,并被黑客的匿名信勒索,金额高达10万元,而在勒索过程中,这群黑客还表示会对腾讯QQ等网站下手,随后QQ“服务器维护”几天。12月5号的时候,全球BitTorrent服务器也受到了很强烈的DDOS攻击,一度陷入瘫痪。而DDOS攻击中最流行的也是威力最大的就是基于页面的DDOS以及将这个攻击理论发挥得淋漓尽致的攻击工具CC,本文特邀CC作者和我们共同了解CC的相关攻击原理和防范方法,希望能让更多的朋友了解这样的攻击方式并能防范它。
我写CC的思路及防范方法
文/ kiki
很多朋友都知道木桶理论,一桶水的最大容量不是由它最高的地方决定的,而是由它最低的地方决定,服务器也是一样,服务器的安全性也是由它最脆弱的地方决定的,最脆弱的地方有多危险服务器就有多危险。DDOS也是一样,只要你的服务器存在一个很耗资源的地方,限制又不够,就马上成为别人DDOS的对象。比如SYN-FLOOD,它就是利用服务器的半连接状态比完全连接状态更耗资源,而SYN发动方只需要不停的发包,根本不需要多少资源。

squid.conf的常见配置 不指定

Category : 架构与部署 | Post on 2007/09/27 11:55 by leftleg | Comments:1
squid.conf的最初配置如下:
hierarchy_stoplist cgi-bin ?

acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

refresh_pattern ^ftp:        1440    20%    10080
refresh_pattern ^gopher:    1440    0%    1440
refresh_pattern .            0        20%    4320  
Apache 中 KeepAlive 配置的合理使用

  在 Apache 服务器中,KeepAlive 是一个布尔值,On 代表打开,Off 代表关闭,这个指令在其他众多的 HTTPD 服务器中都是存在的。

  KeepAlive 配置指令决定当处理完用户发起的 HTTP 请求后是否立即关闭 TCP 连接,如果 KeepAlive 设置为On,那么用户完成一次访问后,不会立即断开连接,如果还有请求,那么会继续在这一次 TCP 连接中完成,而不用重复建立新的 TCP 连接和关闭TCP 连接,可以提高用户访问速度。

  那么我们考虑3种情况:
  1。用户浏览一个网页时,除了网页本身外,还引用了多个 javascript 文件,多个 css 文件,多个图片文件,并且这些文件都在同一个 HTTP 服务器上。
  2。用户浏览一个网页时,除了网页本身外,还引用一个 javascript 文件,一个图片文件。
  3。用户浏览的是一个动态网页,由程序即时生成内容,并且不引用其他内容。
分页: 1/3 第一页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]