本地测试webservice很快,但发布到服务器就非常的慢?

问题描述

先说一下本地开发环境WIN8.1(64位)+IIS8.5+VS2012+oracle驱动(instantclient_11_2)在本地测试webservice中的一个方法速度非常快1-2秒左右。注:该方法直连ORACLE数据库,6表关联查询一个的销售数据,其中有两张表已过千万,索引机制很好,在PLSQL中查询并不慢,平均1秒左右即可。下边是服务器配置环境winserver2008(64位)+iis7.5+oracle驱动(instantclient_11_2)在该服务器中调用同样的WEBSERVICE中的同样的方法,且连接数据库也是一样,web.config配置也都一样。页面就一直处于等待状态,大概要30秒才能够执行完。且在服务器也安装了PLSQL,并执行相同SQL语句也是1秒左右就完成了。也就说数据库查询在两台机器都是1秒左右。注:当查询4天以内的销售数据的时候,WEBSERVICE响应为10秒以内。问题:为什么调用WEBSERVICE后,在服务器就得30秒左右,而我本机就2秒左右。我实在是想不明白了,望大家出手相救吧!

解决方案

解决方案二:
给webservice的各个阶段都加log,用来跟踪看具体是哪里慢。比如在Global的applicationstart/sessionstart里加上事件,你的webservice构造函数里加log/静态构造加log,如果用了IOC就在ioc里也加log,你的方法起始位置加log,中间预计耗时的部分也加log,最终看输出的log里的时间,可以确定到底是哪一步耗时。然后再研究方案
解决方案三:
机器配置及网络因素
解决方案四:
1-2秒很快?我们的大多数tcp服务功能,一般都在十几毫秒、慢则几十毫秒响应。当然如果改为webservice机会慢许多倍,所以我们只在业余开发人员编程时才让其用webservice、wcf之类的。
解决方案五:
当然如果你查询数据库需要1秒,那么封装通讯数据的size,以及其机制是否过于臃肿,可能就不能立刻显出问题来了。特别是当你不通过远程网络来测试时,更是难以发现。但是如果你一直坚持选择轻量级的通讯方式,避免使用“貌似挺厉害”的过度封装的东西,可以很自然地就避免一些这类问题。如果你的通讯部分是自己写的百十来行代码,比如说你自己控制缓存、压缩、格式等等,则更好。
解决方案六:
看起来服务器到数据库没有问题,是不是服务器到客户端(browser)传输太多的东西了?

时间: 2024-11-01 17:37:50

本地测试webservice很快,但发布到服务器就非常的慢?的相关文章

链接地址或参数错误!(C# aspx web项目本地测试正常,上传到服务器运行报错)

问题描述 链接地址或参数错误!(C#aspxweb项目本地测试正常,上传到服务器运行报错)这个问题困扰了我好久,求大神们指导~~ 解决方案 解决方案二:太空洞了.解决方案三:可能是浏览器兼容问题,可能是32位服务器问题,可能是webconfig配置问题...也可能是正式服的数据库与测试服的数据库不同步的问题...反正出这个问题的原因很多....请拿出错误的页面提示,自己f12调试也是可以看看的

kindeditor编辑器本地测试可以!!上传服务器后换行就报错!!!

问题描述 kindeditor编辑器本地测试可以!!上传服务器后换行就报错!!! 解决方案 关闭validaterequest,要不提交的内容包含html代码会提示这个错误,和ke没关系,注意framework4的web.config配置,和2不一样 framework4.0设置validateRequest false无效

.net网站中,ashx文件本地运行没问题,发布到服务器就找不到文件中引用的外部类了~

问题描述 解决方案 解决方案二:你看一下你的ashx文件的Inherits字段解决方案三:编译发布之后,把bin目录完整上传解决方案四:你这个Handler看着像是一个自定义的委托,相关dll缺失吧解决方案五:引用3楼starfd的回复: 你这个Handler看着像是一个自定义的委托,相关dll缺失吧 dll是有滴~~解决方案六:引用1楼lkhuge的回复: 你看一下你的ashx文件的Inherits字段 ashx文件支持Inherits吗?没有Inherits呢...解决方案七:这个是百度ue

跪求大神解决!本地测试无问题,上传服务器报错!

问题描述 "/"应用程序中的服务器错误.--------------------------------------------------------------------------------配置错误说明:在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件.分析器错误消息:未能加载文件或程序集"Microsoft.VisualStudio.QualityTools.UnitTestFramework,Version=10.0.

2005加了一个控件,本机测试完全正确,发布到服务器上,按钮就不显示了

问题描述 <asp:ButtonID="CmdChess"runat="server"CssClass="button_submit"Text="确定"Width="50px"OnClick="CmdChess_Click"/>帮忙看看是什么问题? 解决方案 解决方案二:该回复于2009-03-23 10:43:12被版主删除解决方案三:up解决方案四:该回复于2009-03

MVC上传文档本地测试成功,server上失败,可能原因除了文件夹权限还有哪些

问题描述 MVC写的一个系统,上传文件功能每次本地测试均能正常运行,放到服务器都失败,我试过修改server文件夹权限,还是不行,也许是我修改的不对,代码量有些大不方便贴,求高手意见,如若必要贴出关键代码.小弟初入职,还望不吝赐教啊. 解决方案 解决方案二:贴异常内容stacktrace解决方案三:不贴出错,怎么搞?解决方案四:代码奉上:这是JS写的上传文件代码,后台Controller有相应处理函数,本地测试无问题,放到服务器一直停在最后一个else,不解啊functiontoFileUplo

服务器-乱码问题在本地测试没有问题,提交SVn合入代码之后在服务其上测试就不行?

问题描述 乱码问题在本地测试没有问题,提交SVn合入代码之后在服务其上测试就不行? 在前台我使用encodeURIComponent转码在后天使用String 的构造方法进行解码,然后再本地上测试没有问题,到服务器上就不行了,怎么回事? 解决方案 服务器和本地环境有什么差别?比如JRE的配置.语言配置等,本地是什么环境,服务器是什么环境? 解决方案二: 原来服务器用的是tomcat8了,本地是7

本地测试成功的ASP.NET网站如何发布到网上

问题描述 本地测试成功的ASP.NET网站如何发布到网上比如说要什么空间?域?等等...具体的步骤如何操作?哎.做好一个小网站想测试一下也不知道怎么弄.大家来谈谈经验吧. 解决方案 解决方案二:一直在线等啊......解决方案三:空间支持ASP.NET看你用什么版本的.1.12.03.5域名//发布编译以后上传到你的空间!!!OK解决方案四:或者直接把全部的东西放到空间上去!解决方案五:我通常是这样的1.在自己机子xp上安装iis,然后建设虚拟目录2.点击vs2005生成-网站发布到虚拟目录3.

thinkphp 本地测试正常 上传到服务器模板不存在

问题描述 thinkphp 本地测试正常 上传到服务器模板不存在 本地测试正常 上传到服务器上传图片提示模板不存在 Tpl/App/default/public/dispatch_jump.html 解决方案 服务器是linux不? linux上面有大小写限制.这个要特别注意