请问有没有一个软件可以同时模拟不同数量的用户同时访问一个网站(50分)

  • 主题发起人 主题发起人 mycwcgr_bak
  • 开始时间 开始时间
M

mycwcgr_bak

Unregistered / Unconfirmed
GUEST, unregistred user!
请问有没有一个软件可以同时模拟不同数量的用户同时访问一个网站
我想用此测试网站的负载情况?
 
写一个程序,用indy http控件,产生n个线程同时get一个随机url

-----
http://www.8421.org
 
应该有现成的程序,用来测试服务器性能的。 能够模拟多种实际情况。
 
微软搞的.net讲座中提到过,他们的petshop网站就是用这样一个东东测试的,
但是具体是什么工具,我也不是很清楚。
 
微软的vs.net中有个工具ATC(Application Test Center),可以达到这个目的,而且有日志、
运行报告、还可以生成宏,以备再次模拟,十分强大,推荐。
 
我有一个很好的东东,却不知道你想拿来作什么?
 
应该是ACT(Application Center Test)吧
 
不停用 getbody() 得到页面:)猜的
 
典型的压力测试需求
 
同意leohubble,ATC是一套很强大的工具
应该也有其他的工具吧
 
to 菜鸟王子
可以给我发一个吗?

to leohubble,
可以给我发一个吗?

eyes@58866.com.cn

多谢以上两位
 
同意 qdyoung
前几天一个兄弟问了我这个问题,代码已贴上,找找
 
用LoadRunner吧 ,good tools
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ExtCtrls, Psock, NMHttp;

type
TForm1 = class(TForm)
NMHTTP1: TNMHTTP;
Panel1: TPanel;
Edit1: TEdit;
Button1: TButton;
Memo1: TMemo;
Label1: TLabel;
Memo2: TMemo;
Label2: TLabel;
Label3: TLabel;
StatusBar1: TStatusBar;
Edit2: TEdit;
Label4: TLabel;
Button2: TButton;
Timer1: TTimer;
Button3: TButton;
Panel2: TPanel;
Label5: TLabel;
Edit3: TEdit;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
procedure NMHTTP1Connect(Sender: TObject);
procedure NMHTTP1ConnectionFailed(Sender: TObject);
procedure NMHTTP1Disconnect(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
i:integer;
implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear ;
Memo2.Clear ;
NMHTTP1.Get (Edit1.text);
Memo1.text := NMHTTP1.Header ;
Memo2.text := NMHTTP1.Body ;

end;

procedure TForm1.NMHTTP1Connect(Sender: TObject);
begin
StatusBar1.SimpleText := 'Connect';
end;

procedure TForm1.NMHTTP1ConnectionFailed(Sender: TObject);
begin
StatusBar1.SimpleText := 'ConnectionFailed';
end;

procedure TForm1.NMHTTP1Disconnect(Sender: TObject);
begin
StatusBar1.SimpleText := 'Disconnect';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled := true ;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
//Edit3.text里填入标识,一般为 200 (访问成功)
if (pos(Edit3.text,Memo1.Lines.Strings[0])>0) then
begin
Memo1.Clear;
Memo2.Clear ;
NMHTTP1.Get (Edit1.text);
Memo1.Text := NMHTTP1.Header ;
Memo2.text := NMHTTP1.Body ;
i := i + 1 ;
Label5.Caption := '点击'+IntToStr(i)+'次';
end;
if i=StrToInt(Edit2.text) then
begin
Timer1.Enabled := False;
Edit2.text := '1';
i := 0;
end;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Timer1.Enabled := False;
end;

end.
 
接受答案了.
 
后退
顶部