以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [讨论] 关于保存和同步的效率。  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=2623)

--  作者:wcs
--  发布时间:2009/4/28 19:41:00
--  [讨论] 关于保存和同步的效率。
我明显感觉到,保存或同步时,客户端用户数越多,效率就越低!

现在只有我一个人在用,效率很高,两秒种就完成了 保存--从三个表的10多万记录中SQL查询我想要的记录--填充到外部数据源中--进行一列的事件运算--再保存! 代码大约有一百多行。

但是如果有5个用户,那得15秒以上!

不知大家有没有这个经验?

我的电脑




图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

--  作者:lxl
--  发布时间:2009/4/28 21:11:00
--  
没测试过多用户。
不过你电脑真不错图片点击可在新窗口打开查看
--  作者:狐狸爸爸
--  发布时间:2009/4/28 21:56:00
--  

5个人同时保存?
和后台处理能力无关,不过除非非常凑巧,否则不会5个人同时保存的。

另:效率和系统设计的合理性关系极大。


--  作者:wcs
--  发布时间:2009/4/28 22:55:00
--  
5人不会同时保存的。

只是有5个人在各做各的记录时,有1人在保存,就慢多了。

记得上次讨论过在网络运用时如何避免同时保存的:
1、在外部数据库中指定一个表,只有一条记录,一个字段,专门记录有无用户正在保存
2、用sqL查询中的UPDATA,来快速赋值。
3、用这个值来判断当前是否有人正在保存或运算填充。

我的服务器是新买的,3.5万,里面光散热的电扇就有12个,只带了7个客户端,性能应是不错的。

我看还是保存(同步)时的效率问题,多几个人用明显是慢了几倍!
[此贴子已经被作者于2009-4-28 22:56:06编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/4/28 22:59:00
--  
呵呵,Foxtable是断开运行的,运行的过程中和服务器没有任何关系,你即使关掉服务器也没有影响,因为foxtable只有提取和保存数据的时候才连接服务器。
所以一个人保存,其他人编辑,导致变慢是不应该的,应该多分析一下设计思路问题。
--  作者:wcs
--  发布时间:2009/4/28 23:30:00
--  

实在不明白为什么这样啊!

这不是在找原因吗?

照老大这样说,一个人保存时,与其他人没有关系的,只有自己对服务器的联系。

可是人一多,速度就慢了,这与设计有关吗?不管我怎样设计,保存时也只是我与服务器联系,没有其他的事啊?

我想是不是“从三个表的10多万记录中SQL查询我想要的记录--填充到外部数据源中”  这一段效率不高?


--  作者:狐狸爸爸
--  发布时间:2009/4/28 23:44:00
--  
可能你代码设计不当,例如一进入某个单元格或者数输入框,就从后台提取数据生成列表项目。
这样输入的过程中,就不停地消耗服务器资源,自然人越多,就越慢。
--  作者:mr725
--  发布时间:2009/4/28 23:45:00
--  [分享] bom单的查询及生成模块
楼主那么大的内存,应该可以建几台虚拟机,自成网络来试行自己的fox系统。听说虚拟机可以的。
--  作者:wcs
--  发布时间:2009/4/29 0:09:00
--  
主表中是有一个字段设置了列表项目,但那不是在事件中设置的,我是在列属性中设置的,没有用到代码。

在列属性中设置的列表项目,是在加载表还是在重新打开表时执行呢?

不管怎样,都与编辑单元格的事件无关的啊!
--  作者:狐狸爸爸
--  发布时间:2009/4/29 0:14:00
--  
这个不会的,这只是在打开项目的时候执行。
你进行普通输入、查询、统计等日常操作的时候,断开服务器,如果某个操作出错,就说明执行这个操作要连接服务器,检查相关代码即可。
最好全面清查代码。