我今天在一个客户端站点上运行,并安装了一些自定义软件,这些软件访问驻留在客户端站点上的服务器上的SQL server 2005数据库。
当软件直接在服务器上运行时,软件运行良好,问题是当软件在客户端机器上运行时,任何涉及访问SQL数据库的操作都会使PC完全停止几秒钟。客户端和服务器机器上的CPU使用率都很低,两台机器上的内存使用量看起来都很好。
客户端机器上的其他功能似乎足够快了。互联网,excel,word等。
自定义软件是安装在其他几个不同的客户端站点和SQL访问速度一直不是一个问题,所以我99%确定它与软件无关。客户端机器和服务器都有3-4年的历史了,但是在过去的6个月里已经有了完整的格式并重新安装。
就硬件而言,这3台机器几乎是完全相同的:
奔腾4 2.66GHz
1GB RAM (服务器中的2GB)
Windows (自动更新是打开的,因此我认为修补程序是最新的)
全部连接到100 to网络
有没有人知道是什么原因导致客户机SQL访问变得缓慢,或者我可以使用哪些工具(最好是免费的)来尝试诊断问题?
发布于 2010-08-06 15:00:30
感谢上面的帖子帮助我缩小了问题范围(我没有资格提高他们的声誉) :( )
经过大量的设置等操作之后,我出于好奇,将客户端计算机上的SQL服务器连接字符串从使用主机名引用服务器改为使用其IP。这立即解决了问题,一切都很顺利。
我认为这是因为“服务器”实际上没有运行服务器操作系统(它只是网络上运行XP的另一台计算机),所以没有合适的DNS / WINS服务器来执行主机名转换?
不管用哪种方式,现在都能用了,谢谢你的帮助。
发布于 2010-08-05 18:50:21
因为您说CPU和内存看起来不错,所以我会查看连接和客户端要求服务器执行的查询。
在客户端上,我想给Wireshark一个机会,看看客户机和服务器之间的对话是什么样子(延迟、重传等等)。我不认为我的谈话范围仅限于客户端和服务器,不过,在最初几次捕获客户端时,只是为了防止客户端发出可能给您提供线索的其他数据包(虚假的名称解析请求、试图连接到其他服务等)。
在服务器上,跟踪可以为您提供一些关于客户端要求什么以及服务器如何响应的非常低级别的信息。微软提供了一个基本操作文档来帮助您入门。
发布于 2010-08-05 22:31:30
https://serverfault.com/questions/167514
复制相似问题