JBTALKS.CC

标题: 透过internet连接SQL Server会很慢? [打印本页]

作者: TSHsoft    时间: 2011-3-25 12:56 AM
标题: 透过internet连接SQL Server会很慢?
透过internet连接SQL Server连线或者查询时会很慢(才几kb的资料而已),如果是在LAN里面内部网路的话速度是很快的。
例如查询结果要一秒的时间,透过internet的话要三十秒的时间。
我的是MS SQL Server 2008,OS是Windows Server 2008。
有哪位大大有这方面的经验啊?先谢谢了~
作者: goodday    时间: 2011-3-25 01:03 AM
要看你的 线
你会做VPN 嘛
VPN 上来会快一些

如果不能就要 看你的connection 过几个  router
作者: goodday    时间: 2011-3-25 01:05 AM
本帖最后由 goodday 于 2011-3-25 01:08 AM 编辑

如果是这样的 为什么不用
remoting ???

快多一点

http://www.codeproject.com/KB/IP/remotinggui.aspx
作者: shippo    时间: 2011-3-25 02:14 PM
VPN 不会有很大帮助 ,测试后跟没用几乎一样。
似乎server 2008+sql 2008已近是最快的了。
handshaking process应该是主要原因。
作者: ~Zero    时间: 2011-3-25 03:59 PM
当你要 query 资料的时候,不只是那几个 kb 的 database 资料被 transmit 而已。
还有 connection request, authentication 等等。

这种时候,你的 coding 不能分太多 open connection, query, close connection。
尽量善用 session, rollback, commit 等等,减少 connection 和 authentication 的多余功夫。
作者: goodday    时间: 2011-3-25 06:27 PM
回复 4# shippo

你的网络 是怎么样 set 的?
我也是VPN 下工作的,能研究 研究吧
作者: goodday    时间: 2011-3-25 06:30 PM
回复 5# ~Zero


你说得对
所以我说 remoting 这种技术咯
统统在 server 跑完了,减少了 transaction , rollback  那些咯

然后以binary 的方法 转回来
也是under TCP/IP 的pack 和 unpack
但也有 坏处 hehe
作者: TSHsoft    时间: 2011-3-25 09:37 PM
VPN没弄过。自己写的program从家里连接到公司的server会很慢,现在还解决不了。
顺便问一下,我还想要在公司的网站连接去公司内部的SQL Server,可是网站是Linux的,ASP不支持。
是了很多方法用php连接都不成功,连错误信息也没有。真的不懂怎么搞啊~头大
作者: goodday    时间: 2011-3-25 10:14 PM
TSHsoft 你是用streamyx 吧
streamyx  是很慢的
我是用UNIFI 的
asp -> http://www.apache-asp.org/install.html
asp.net -> Mod_AspDotNet  或 mono

mysql ?? or mssql
作者: TSHsoft    时间: 2011-3-25 10:18 PM
TSHsoft 你是用streamyx 吧
streamyx  是很慢的
我是用UNIFI 的
asp ->
asp.net -> Mod_AspDotNet  或 ...
goodday 发表于 2011-3-25 10:14 PM


公司和家里都是streamyx咯
是ms sql 2008哦~windows server 2008 64bit

apache asp吗?我试试看。
作者: 宅男-兜着走    时间: 2011-3-25 11:10 PM
经过看看。

说到在伺服器计算完毕后才把结果送回去。就让我想到
Web Service, Net Remote.
我一直在想, 这样会不会给伺服器的负担变得更大。。。
Client 负担大好呢, 还是伺服器?

以下是相关的文章。
http://msdn.microsoft.com/en-us/library/ms978411.aspx
http://msdn.microsoft.com/en-us/library/ms978420.aspx

APACHE ASP 我之前装过。 部署的时候有点问题, 搁着一边了,懒惰去学了。

说到链接公司的server, 这种事情我也玩过, 可是公司没Static IP, 唯有 DDNS + Port Forwarding 才能打开通道。
作者: shippo    时间: 2011-3-26 01:16 AM
继续围观,坐等高人。
作者: goodday    时间: 2011-3-27 01:42 AM
回复 11# 宅男-兜着走

我就觉得 把负担 丢给 server 比较好
公司赚钱啦 就换新 server 咯

你丢给client  还是 server 跑了一半的 resource 啦
倒不如 统统给server

要记得 server 是你控制到的范围
server 你还能 cluster, upgrad hardware, clouding , vmware .... etc
如果是client 的 你应该要接受 世界还有pentium 的来跑 (没钱换好机给工人的公司很多)
明明是client 烂 却赖到你的头

web service  很重 我放弃啦
甚至到了  WCF 也是 xml 的传送
xml 太多 字 啦 还有一堆 initial schema format 类的

binary 是最快了
或 json format  来跑
作者: shippo    时间: 2011-3-28 12:05 AM
回复 6# goodday

好阿,不过不是我set的,lol.
不好意思啦,我只负责用。
作者: TSHsoft    时间: 2011-5-4 09:40 PM
回复  ~Zero


你说得对
所以我说 remoting 这种技术咯
统统在 server 跑完了,减少了 transaction  ...
goodday 发表于 2011-3-25 06:30 PM


你是这样做的吗?用binary通过tcpip传资料,有什么坏处啊?你说到一半~
作者: ~Zero    时间: 2011-5-5 06:29 PM
本帖最后由 ~Zero 于 2011-5-5 06:31 PM 编辑
经过看看。

说到在伺服器计算完毕后才把结果送回去。就让我想到
Web Service, Net Remote.
我一直在想 ...
宅男-兜着走 发表于 2011-3-25 11:10 PM

我是觉得先不要管 processor 负担先,把 bandwidth 尽量减少是最重要的。

web service / remoting 虽然会把 server 负担加大,不过就如 goodday 说的,server 是你控制范围内的。
慢的话,加强 server 或加多 server 来跑 parallel processing。
而且也可以把 database 分开放在 LAN 里面,跟 web service 分开跑。
也间接可以防止 SQL injection 等等问题。

当然,不必要的多功夫在 client side 跑也是比较好,(主要原因也是减少 bandwidth)。
例如,validation 这类可以放就放在 client side,或者一些 calculation,不必动用到 database entry 的东西。

说到在伺服器计算完毕后才把结果送回去

如果计算是 1+2+3,那把 '6' 送去给 client,总比把 '1+2+3' 送给 client 计算来得省 bandwidth。
同样的,如果 client input 是 1+2+3,而 server 只需要知道 6 的话,就在 client side 计算,然后把结果送去 server。




欢迎光临 JBTALKS.CC (https://jbtalks.my/) Powered by Discuz! X2.5