pb11编写webservice数据库连接性能研究

pb11编写webservice数据库连接性能研究

ID:14102577

大小:181.50 KB

页数:5页

时间:2018-07-26

pb11编写webservice数据库连接性能研究_第1页
pb11编写webservice数据库连接性能研究_第2页
pb11编写webservice数据库连接性能研究_第3页
pb11编写webservice数据库连接性能研究_第4页
pb11编写webservice数据库连接性能研究_第5页
资源描述:

《pb11编写webservice数据库连接性能研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Pb是很好的开发数据库应用的软件,pb8以前可以用其自带的Transport对象实现三层结构,但pb8以后简单好用的只有easerver,但据说这是很贵的软件,就是盗版也不好找。Pb11可直接将nvo发布为webservice,这对pb熟手来说是一个很好的事情,可是,习惯了C/S结构开发的思路,用webservice,数据库连接会不会过于频繁?用pb内部的数据库连接方式有没有连接池?Webservice连接性能到底怎样?等等问题,是每个从C/S编程转向B/S编程或采取三层结构编程的人都会涉及到的。下面就以pb11写webservicepb8调用对其连接池及性能进行测试。1、单客户端、不连

2、接数据库、pb写的webservice的响应速度测试方案:Pb11webservice函数of_adder(),累加当前秒钟值10000次的结果。客户端pb8,在不同电脑上,调用1000次。Webservice代码如下图。测试结果:    耗时25秒,无数据库连接会话。2、单客户端、连接数据库、pb的webservice的响应速度测试方案1:函数f_connect()连接数据库,函数of_getdbhandle()返回当前连接数据库事务对象的句柄,客户端保持webservice连接(每次调用不重新初始化),webservice保持数据库连接不断开。客户端pb8,在不同电脑上,调用100次

3、。客户端代码如下:stringls_wsdllongi,jlongnumssetpointer(hourglass!)//连接系统库SQLCA.DBMS="IN7INFORMIX-7"SQLCA.Database="sysmaster"SQLCA.UserId="informix"SQLCA.DBPass=wf_sa_pwd()SQLCA.ServerName="192.168.0.1@server1"SQLCA.AutoCommit=FalseSQLCA.DBParm="CommitOnDisconnect='No',DisableBind=1"connectusingsqlca;if

4、sqlca.sqlcode<>0thenmessagebox('错误',"连接系统库失败",stopsign!)returnendiftimet1,t2t1=now()st_times.text=''//循环调用forj=1tolong(sle_cs.text)yield()ifnotisvalid(w_1)thenexitst_nums.text=string(j)//未创建webservice连接则创建(ws为窗口实例变量)ifnotisvalid(ws)then  ws=Createoleobject  i=ws.ConnectToNewObject("MSSOAP.SoapCli

5、ent30")  ifi<>0then   destroyws   messagebox('提示','请检查是否安装了SoapSDK3.0和XML4.0',exclamation!)   return  endif    ws.ClientProperty("ServerHTTPRequest",true)    ls_wsdl=profilestring("soap.ini","soap","url","")  ws.mssoapinit(ls_wsdl)    ws.ConnectorProperty("Timeout",180000)endif//webservice方法中每次连接

6、数据库且用完即断开st_dbhandle.text=ws.of_getdbhandle()//webservice方法连接数据库时的dbhandle()//st_dbhandle.text=ws.of_adder()//从sysmaster库中查看webservice中每次连接是否都释放了,SessionID是否保持一个//myvpc为webservice所在主机名(web服务器主机名)selectcount(*)into:numsfromsyssessionswherehostname='myvpc'usingsqlca;ifnotisvalid(w_1)thenexitifsqlca

7、.sqlcode=0then  st_nums_dq.text=string(nums)//循环第j次时连接数据库的sid数  iflong(st_nums_min.text)>numsthenst_nums_min.text=string(nums)  iflong(st_nums_max.text)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。