winform软件,最大并发用户不超过1000人,用户登录表用于存储用户登录记录,数据表的主键为bigint,自增类型,聚集索引。
请问如果客户端频繁更新(时间间隔:5s)状态字段,这样对数据库的负荷大吗?
用户量虽然不多,但是时间久了数据量也会不小,但是主键有索引,不知道这种情况下是否会对数据库造成较大的负荷?
另一种方案就是在服务器端弄一个监视程序或webservice,建一个列表专门用来维护这些信息,客户端只需更新这个列表即可,但是不如直接更新数据库方便,大家给点意见。另外,如果换成网站一般都是用session吧?

解决方案 »

  1.   

    对于你这种情况 不建议用winfrom另外,如果换成网站一般都是用session吧 //这个只是保存 
      

  2.   

    根据经验来说 1000个并发、5s一次更新数据库,假设更新字段在2个以内,同时没有多表连接查询的话,这个负载对数据库来说不会太大。换成网站的话session不好,很容易就让web服务器内存爆满,用cookie(但是要在服务端代码增加cookie检查程序,不然会被伪造cookie或者攻击),或者用数据库存储session也行,但性能会降低。由于是经验只谈,每个人情况不一样,生产状态下情况会很复杂,在数据库服务端您最好是用“性能监视器”监视数据库的性能、磁盘IO的性能、CPU占用性能、内存使用性能。
    在几台客户机上装测试软件,模拟1000个用户同时并发,如果没有硬件条件,那么模拟几百个并发然后推测服务器负载,然后再做决定也可以。
      

  3.   

    哇塞,不是吧,winform程序,你让我不用winform,有木有搞错啊,我还建议废除web程序呢
      

  4.   

    更新一个字段,无多表连接,
    update TableName set Col=value where ID=id
    ID是bigint,而且有索引