售后服务一个用JAVA写的测算服务器响应速度程序_第1页
售后服务一个用JAVA写的测算服务器响应速度程序_第2页
售后服务一个用JAVA写的测算服务器响应速度程序_第3页
售后服务一个用JAVA写的测算服务器响应速度程序_第4页
售后服务一个用JAVA写的测算服务器响应速度程序_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(售后服务)一个用JAVA写的测算服务器响应速度程序20XX年XX月多年的企业咨询豉问经验.经过实战验证可以落地机行的卓越管理方案,值得您下载拥有1. 任务描述需要做壹个程序,对某壹服务器运行的webserver进行测算,见对提出的request做出相应的时间,且且于多个request同时提出时的响应时间。2. 计划因为javasdk中包含有比较全面的class能够对http等多种协议的处理方法进行了封装,用起来比较方便,能够于比较短的时间内快速开发出这壹测算工具。需要2个功能:a. 因为不是仅仅对壹个webserver或者壹个form进行测算,所以需要程序能够灵活处理,完成各种工作。我采用了

2、配置文件的形式,让程序从配置文件中读取数据,且作相应动作。b. 需要采用多线程方式,对同壹个webserver提交多次request.3. 开发过程(读者能够跟随这壹过程,自己动手写代码,到全文结束,就能有壹个完整可用的程序了)主要的工作均有TestThread来完成。代码如下:classTestThreadimplementsRunnableParameterparam;TestThread(Parameterpar)param=par;publicvoidrun()longtime1=newDate().getTime();tryURLtarget=param.url;HttpURLCon

3、nectionconn=(HttpURLConnection)target.openConnection();conn.setRequestMethod(param.method);inti;for(i=0;i<param.length;i+)conn.setRequestProperty(param.keyi,param.valuei);conn.connect();BufferedReaderin=newBufferedReader(newInputStreamReader(conn.getInputStream();StringinputLine;while(inputLine=i

4、n.readLine()!=null);catch(Exceptione)longtime2=newDate().getTime();System.out.println(time2-time1);classTestThreadimplementsRunnable,而不是用extendsThread,的好处是独立设计壹个类,这个类仍能够extends其它的class,而不是单独的extendsThread.另外壹个好处是,能够把处理方法放于各个不同的方法中,然后于voidrun()中调用,程序结构比较清晰。程序工作如下:于初始化壹个TestThread实例的时候,接受壹个Parameter参数

5、(稍候介绍),且于线程启动时,计算开始的时间,向目标机器发送请求包,接受目标机器的返回结果,再次计算时间,且得到俩次时间之差,这就是服务器的响应时间。具体程序能够自己见懂,就不多说了。classParameterURLurl;Stringkey;Stringvalue;Stringmethod;intlength=0;publicvoidaddPair(Stringk,Stringv)Array.set(key,length,k);Array.set(value,length,v);length+;是用来传递参数的壹个类。参数是主程序从文件中读出来且存入这个类的壹个对象里,然后通过初始化Tes

6、tThread传递给它的对象。publicclassTestServerstaticintloopTimes=500;publicParameterreadFromArgFile(Stringstr)FileInputStreamfileInput;BufferedReaderbr;Parameterparam=newParameter();tryfileInput=newFileInputStream(newFile(str);br=newBufferedReader(newInputStreamReader(fileInput);Stringline;while(line=br.readL

7、ine()!=null)if(line.startsWith("URL")=true&&line.indexOf("=")>=3)intf=line.indexOf("=");Stringurlstring=line.substring(f+1);urlstring.trim();param.url=newURL(urlstring);elseif(line.startsWith("METHOD")=true&&line.indexOf("=")>=3

8、)intf=line.indexOf("=");Stringmethod=line.substring(f+1);method.trim();param.method=method;elseif(line.indexOf("=")!=-1)intf=line.indexOf("=");Stringkey=line.substring(0,f-1);Stringvalue=line.substring(f+1);param.addPair(key.trim(),value.trim();fileInput.close();br.clos

9、e();catch(FileNotFoundExceptione)System.out.println("File"+str+"notfound.");catch(NullPointerExceptione)catch(IOExceptione)System.out.println(e);returnparam;publicstaticvoidmain(Stringargs)inti;intj;Parameterparam;TestServertester=newTestServer();for(i=0;i<Array.getLength(args

10、);i+)param=tester.readFromArgFile(argsi);for(j=0;j<loopTimes;j+)Threadth=newThread(newTestThread(param);th.start();主程序main也比较简单,从命令行参数中读取文件名,且依次打开,读取其中的配置参数,创建Parameter对象,且传递给TestThread对象,然后启动TestThread线程。需要注意需要息的是其中的错误处理,当发现某个文件读写错误的时候,是跳过这个文件而读取下壹个文件,而不是简单的退出。就这么简单。(当然,适当的改写壹下,就能够做壹个加贴机或者灌水机之类的

11、东东,那是你的爱好,和我无关:-)程序全文列于最后,且附上了说明/*Program:TestServer.javaDescription:sendrequestsinmultiplethreadstoservertotestitsresponsesdelayanceAuthor:ariesramDate:Aug23,2001Usage:javaTestServerfile1file2.fileformat:URL=FullURLofformMETHOD=GETPOST.key1=value1key2=value2andsoon.*/*importjava.io.*;importjava.lan

12、g.reflect.Array;.*;importjava.util.*;publicclassTestServerstaticintloopTimes=500;publicParameterreadFromArgFile(Stringstr)FileInputStreamfileInput;BufferedReaderbr;Parameterparam=newParameter();tryfileInput=newFileInputStream(newFile(str);br=newBufferedReader(newInputStreamReader(fileInput);Stringli

13、ne;while(line=br.readLine()!=null)=3)if(line.startsWith("URL")=true&&line.indexOf("=")intf=line.indexOf("=");Stringurlstring=line.substring(f+1);urlstring.trim();param.url=newURL(urlstring);elseif(line.startsWith("METHOD")=true&&line.indexOf(&q

14、uot;=")>=3)intf=line.indexOf("=");Stringmethod=line.substring(f+1);method.trim();param.method=method;elseif(line.indexOf("=")!=-1)intf=line.indexOf("=");Stringkey=line.substring(0,f-1);Stringvalue=line.substring(f+1);param.addPair(key.trim(),value.trim();fileInp

15、ut.close();br.close();catch(FileNotFoundExceptione)System.out.println("File"+str+"notfound.");catch(NullPointerExceptione)catch(IOExceptione)System.out.println(e);returnparam;publicstaticvoidmain(Stringargs)inti;intj;Parameterparam;TestServertester=newTestServer();for(i=0;i<Ar

16、ray.getLength(args);i+)param=tester.readFromArgFile(argsi);for(j=0;j<loopTimes;j+)Threadth=newThread(newTestThread(param);th.start();classParameterURLurl;Stringkey;Stringvalue;Stringmethod;intlength=0;publicvoidaddPair(Stringk,Stringv)Array.set(key,length,k);Array.set(value,length,v);length+;classTestThreadimplementsRunnableParameterparam;TestThread(Parameterpar)param=par;publicvoidrun()longtime1=newDate().getTime();tryURLtarget=param.url;HttpURLConnectionconn=(HttpURLConnection)target.openConnection();conn.setRequestMethod(param.method);inti;for(i=0;i<param.length;i+)conn.se

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论