FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3308|回复: 3
打印 上一主题 下一主题

关于FState导致服务器内存暴涨的问题。

[复制链接]
跳转到指定楼层
楼主
发表于 2017-5-29 02:04:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在组织机构一次加载500多条。点击左边的组织机构树,会根据选中的节点查询节点下的组织机构显示在右边的表格里。

点击一下查询,大概会上升15M~30M不等的内存占用量,并且一直不会下降。
用了一会,内存就使用到1G左右了。并且继续使用还是会继续上升。


基于以上的情况,本来以为是查询设计的有问题,但使用Repeart绑定后,并没有产生内存暴增的情况。
于是确定大概是Grid控件的问题。

跟踪了FState后,发现FState回传了很大的数据。
大约2M左右的回传数据。

暂时只能考虑是FState影响了内存用量。
请各位大神帮忙,内存消耗的太厉害了,50个人使用系统。1个小时左右,就耗费了3G的内存, 然后强制回收了。这个完全扛不住。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2017-5-29 10:52:50 | 只看该作者
FState不会导致内存暴增,你用的开源版,可以查看源代码对 FState 的处理。

页面回发时,回发的数据是用来在后台重建树控件,这样你才能在C#代码中通过Tree1.Nodes获取树节点的数据,回发数据量大是因为你的树控件数据多。而FState只是用来在C#中捕获这些数据,并在一个HTTP结束后自动清除。

如果你查看源代码,可以发现 FState 是控件的一个变量而已,一次HTTP执行结束后,页面对象清空了,页面上的所有控件对象也清空了,当然 FState 也就清空了。



为了排除你的数据库查询的影响,我建议你使用空项目重现问题(所有数据在内存中硬编码),并上传完整可运行项目,方便分析问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
板凳
 楼主| 发表于 2017-5-29 11:45:10 | 只看该作者
sanshi 发表于 2017-5-29 10:52
FState不会导致内存暴增,你用的开源版,可以查看源代码对 FState 的处理。

页面回发时,回发的数据是用来 ...

谢谢三石老大回复。我再找一下问题。
不过现在的现象的确是,只要有加载组织机构树的页面,内存就会涨的很快。
我再去找一下问题。
地板
 楼主| 发表于 2017-5-29 12:36:18 | 只看该作者
最终问题定性了,是MEF成员使用了静态变量所导致的问题。
所有资源都挂在静态变量上了。
大家使用MEF如果有更好的心得和加载方式,可以指点小弟一下。
谢谢。
并且谢谢三石大大的回复。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-23 21:03 , Processed in 0.045150 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表