Foxtable(狐表)用户栏目专家坐堂 → 服务器卡


  共有4004人关注过本帖树形打印复制链接

主题:服务器卡

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/8 11:04:00 [显示全部帖子]

服务器卡死指什么,电脑死机?数据库慢?程序慢?

服务器带宽有多少?cpu、内存配置怎么样?并发数有多少:10?100?1000?.....?

1、对于数据库
1)、表加上合适的索引
2)、表结构有没有可以优化的地方
3)、sql尽量使用参数化的方式执行
2、对于web服务端
1)不要混用多种前端ui框架
2)不要使用InsertHTML插入完整的网页头部格式,应该改为stringbuilder
4)利用日志等逐个网页进行分析,看看不同环境(不同手机,不同网络的电脑)、不同并发数下访问的这个网页的速度怎么样?觉得不满意的适当调整代码进行优化。
3、对于客户端
1)、尽量减少大批量数据的加载
2)、利用存储过程、视图、参数化执行等提高数据库执行的速度和效率
4、对于服务器:增加带宽,cpu、内存

以我的能力也就能提出这些建议。

从我了解到的信息,您开发的系统已经不能算小了。程序规模与质量和开发人员的能力应该是同步增长的。随着程序规模(功能模块、客户端数、数据量等等)不断增长,就会出现各种的不稳定,不断的优化和重构是必然的。如果前期开发团队的能力比较弱,重构甚至可能会推翻前面的所有设计,然后重新开发。当然是否能够重构也要看后期开发团队的能力,如果能力跟不上,别说重构了,连优化可能都没有办法,也就只能原地踏步,天天忙着救火了。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/8 11:06:00 [显示全部帖子]

除了调用异步函数外,其它代码肯定都同步的。1楼日志的错误提示是使用了空对象,类似find之后的dr没有判断是否为空值等错误

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/8 13:18:00 [显示全部帖子]

这种错误是列长度太短。但是日志是看不出是哪个字段的。测试看是什么功能引起的,检查相关代码

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/8 14:53:00 [显示全部帖子]

您是直接给table的行赋值才会有这种错误窗口提示的。建议服务端项目尽量都不要操作主表,而是通过SQLcommand,或者sqladdnew、sqlfind之类的来控制数据的增删改,后者可以被BeforeShowErrorMessage事件处理掉。而操作主表是会有这行错误窗口弹出来的,特别是使用异步函数的情况下,更不应该直接操作主表。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/8 16:15:00 [显示全部帖子]

不能使用主表的adnew,如果是SQLcommand返回的临时表就可以。


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/8 16:38:00 [显示全部帖子]

这种提示无法判断什么原因

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/8 17:40:00 [显示全部帖子]

This row has been removed from a table and does not have any data.  BeginEdit() will allow creation of new data in this row.

这提示的意思是,某一行数据已经从表格里删除,无法再继续编辑里面的数据和保存。

另外注意,SQLcommand返回的表格addnew的行,以及sqladdnew生成的行只能保存一次,保存后就无法再次使用。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/10 9:41:00 [显示全部帖子]

看看:http://www.foxtable.com/mobilehelp/topics/277.htm,提示不能用的一定不要在异步函数里使用

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/10 9:47:00 [显示全部帖子]

建议把nginx用起来,这样一个程序垮了,还有能用的

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/10 20:20:00 [显示全部帖子]

截断二进制码这个问题绝对不可能是foxtable的问题,因为这个错误是数据库才会报出来的。

2楼的提议建议都处理一下

 回到顶部
总数 12 1 2 下一页