大型C/S管理系统为何经常死机? (200分)

I

itren

Unregistered / Unconfirmed
GUEST, unregistred user!
我们的系统目标可以支持 250-400 台机器。
以前的系统可以支持。
本人接手之后进行了修改:主要是人机交互的修改。
以前没用的: Listview Xpmenu 控件。
结果系统经常死机,只好减少管理的机器数,现在是行了,但是管理机的数量增加了
这是我们不愿意看到的!
客户机和服务器用 NMUDP 基于 UDP 实现的
每隔 2 秒钟,客户机都要发送一个消息到服务器
服务器在进行计算数据的同时回应客户机的请求。
每隔30分钟存一次数据 (数据库用 SQl SERVER 7.0)
服务器还要监视客户机的屏幕操作,我单独做了一个程序,问题不大!
??
各位有和高见?
我觉得主要的消耗在 通讯处理上 和 数据库读写上 ,但以前的系统没有问题,会不会和
我用了过多的图形控件有关系?
 
你的这套系统主要用途是什么?server和client实现什么功能?
 
或者是我没说清楚
客户机只是定时发送消息到服务器标志客户机的状态
服务器根据客户机发送的消息进行相应操作!
本系统是用来进行超大型机房系统的记费管理的。
OK?
 
如果有台单机出了问题,造成了网络的阻塞,在存储数据时,会造成操作过时的现象。
你可查看每台工作站,你的图形控件的影响不是很大,你的网络应是100M的吧
 
to snjat
网络应该是没问题的 千兆主干 百兆的桌面
你的意思是不是说,某一个客户机堵塞了网络?造成服务器存储数据死机?
(但是服务器数据库操作与客户机无关啊)
能否详细告知?
My email: longc@263.net
 
我也在作这方面的系统,运行情况还不错,你把程序发给我看一下!
bjf2000@163.net
 
看其连接的发送和接收速度!若以前可正常使用应检查使用的Listview xpmenu能连接通讯正常时的最大Workstation!
 
我建议你最好用一个中介服务器,因为c/s的性能受客户机
多少的影象(一般c/s模式的客户机应在200台以内)
你的系统大大的超过了范围,因此系统不稳定
 
to Fql
是不是说 向三层结构的程序类似的建立一个 SocketServer ?用来接收客户端的消息
并作缓冲? 类似于一个大肚的容器,无限容量存储用户消息,组成队列。
然后由一个线程来提取并处理这些消息?

to All:
 希望大家集思广益!小生感激不尽! 
 
思广益!UP
 
这是个很价值的讨论.
听.
 
服务器崩溃时,是不是提示TCP**.sys错误?
如果是,呵呵,重新安装系统都不行,我改用Linux已经满负荷跑了3个月
C733+40G 任务:Telnet Email Apache Mysql Dhcp Router ProFtpd Web代理 防火墙...
客户100个左右,我经常上传下载3G左右的数据,呵呵,没事。
 
再题一下 128M内存 3*100M网卡 2个网关
 
听,
我采用的是CLIENTSOCKET,没试过那么多机器
 
to All:
好像还没那么严重,因为是用的 UDP 倒没有资源的严重消耗,只是死机,没有提示!
同时也不需要大量数据传输,唯有抓图是强度最大的了!
按道理不应该死机!而且只是在我更改程序之后才发生的!
 
在三层模式中,一般服务器都只处理用户的请求,和连接信息
大量的数据操作都在客户端,你顶多只有400台机器,所以比较
好,还有你在必要是也可以断开连接,用以减轻服务器的负担
(当然记费系统要时刻连接)
我老师做的记费系统就是用的三层模式
 
to FQL:
我们的系统没有用 Tcp/Ip 用的是 UDP
难道非要用Socket Tcp/IP 连接吗?
是不是这样就可以用两层结构了?
 
to all
集思广益!
再接再厉!
 
应该出在抓图上。
你用memproof监视一下你的程序,是不是有资源没有释放?如Gdi等。
死机应该是资源耗尽造成的。
 

NMUDP我用过,不稳定,直接用TClientSocket写会比较好.
 
顶部