G
guoDY
Unregistered / Unconfirmed
GUEST, unregistred user!
本人编制一个ISAPI程序,该程序读取一个文本文件(62k),从该文件
中筛选所需的数据,当ISAPI运行时,通过NT中任务管理器察看机器性能,
CPU使用率舜时达到100%,当多个用户请求时,CPU使用率始终为100%。对于客户端
而言,需要几秒钟启动该ISAPI一次,该如何处理以减少服务器负荷。
程序代码如下:
if (Request.QueryFields.Values['num']='yc') then
begin
AssignFile(data_file,'C:/inetpub/wwwroot/interface/yc.ini');
reset(data_file);
end
else
begin
AssignFile(data_file,'C:/inetpub/wwwroot/interface/yx.ini');
reset(data_file);
end;
para_num:=0;
while(eof(data_file)=false)do
begin
readln(data_file,temp_str);
for i:=0 to Request.QueryFields.count-1 do
begin
v_name:='T'+inttostr(i);
if (pos(Request.QueryFields.Values[v_name],temp_str)= 1 )then //寻找匹配的文本
begin
response.content:=response.content+#10+temp_str;
para_num:=para_num+1;
break;
end;
end;
if (para_num>=Request.QueryFields.count-1) then
break;
end;
CloseFile(data_file);
中筛选所需的数据,当ISAPI运行时,通过NT中任务管理器察看机器性能,
CPU使用率舜时达到100%,当多个用户请求时,CPU使用率始终为100%。对于客户端
而言,需要几秒钟启动该ISAPI一次,该如何处理以减少服务器负荷。
程序代码如下:
if (Request.QueryFields.Values['num']='yc') then
begin
AssignFile(data_file,'C:/inetpub/wwwroot/interface/yc.ini');
reset(data_file);
end
else
begin
AssignFile(data_file,'C:/inetpub/wwwroot/interface/yx.ini');
reset(data_file);
end;
para_num:=0;
while(eof(data_file)=false)do
begin
readln(data_file,temp_str);
for i:=0 to Request.QueryFields.count-1 do
begin
v_name:='T'+inttostr(i);
if (pos(Request.QueryFields.Values[v_name],temp_str)= 1 )then //寻找匹配的文本
begin
response.content:=response.content+#10+temp_str;
para_num:=para_num+1;
break;
end;
end;
if (para_num>=Request.QueryFields.count-1) then
break;
end;
CloseFile(data_file);