欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

2020年7月16日 FineReport学习日总结

程序员文章站 2022-06-22 23:38:30
1.技术文档编辑学习完善文档:JS实现分页预览改变鼠标悬停所在的行列的背景色添加链接描述在管理员的指导下调整文档架构为FineReport 标准格式对于文档中模糊的图片进行修正提交作日完善内容报告2.ECMAScript学习学习了ECMAScriptt 的一些版本更新内容,了解了ES的起源,ES5与ES6的区别。3.FineReport 内置模板浏览查阅了解FineReport 内置模板,对不同的展现形式做了解,其中了解到的新的内容为:报告书模板4.社区用户问题研究为了提升个人对实际...

1.技术文档编辑学习

完善文档:JS实现分页预览改变鼠标悬停所在的行列的背景色添加链接描述

  • 在管理员的指导下调整文档架构为FineReport 标准格式
  • 对于文档中模糊的图片进行修正
  • 提交作日完善内容报告

2.ECMAScript学习

学习了ECMAScriptt 的一些版本更新内容,了解了ES的起源,ES5与ES6的区别。

3.FineReport 内置模板浏览

查阅了解FineReport 内置模板,对不同的展现形式做了解,其中了解到的新的内容为:报告书模板

4.社区用户问题研究

为了提升个人对实际业务的了解,尝试性的去了解并解决社区内各用户遇到的生产性问题。
今日参与回复问题共计8个,被采纳回复2个。

分享一下解决问题的过程,记录下第一次生产业务操作

用户反馈问题:
已经把平台上的限制都关了,查询数据还是提示服务器压力过大,触发保护机制,请刷新该页面。若您是管理员。
SQL分析器里查询,只有2万多条数据,这是怎么回事
初步判断:
1.用户存在过滤查询,过滤查询会造成大量的连接,连接数过多的时候会导致内存过大。
2.直接预览是否可见,如果可见的话,那么用户应该使用了数据字典,数据字典也会产生大量的连接数,导致内存占满
进一步的沟通:
由于用户这边的问题较为复杂,这边用户自己由于对于软件不是特别熟悉,为了更方便的解决问题,希望邀请我远程排查。
在用户发出邀请的时候,我做了以下步骤。
1.因为当时已经是快中午了,所以先和用户约了时间;
2.告诉用户,我希望他能部署一套测试环境供我排查;
3.让用户确认问题都是在哪些操作出现的。
排查步骤
中午吃完饭,客户和我联系了,我让用户打开了有异常的模板,并让他确认是否对数据进行了备份,做好这些后我使用QQ连接到了用户的电脑。
1.我查看了用户的数据集,发现用户果然用了很多的数据集连接,此刻我将主要的排查方向定在了数据列和报表参数上。
2.点击用户的预览报表,确认用户的问题是否同其描述一致、、、这里就有点意思了,用户界面报的和他提供的错误不一样了,是一个Sql Server 日志满了无法查询的错误。
3.再次启动报表预览,确认问题,结果还是日志问题,于是将该异常丢到百度上去,让用户自行查阅解决。
4.为了避免其他数据安全纠纷,我告诉用户,操作数据库的话存在敏感性,我这边先退出了,您这边自行处理下,操作文档已经给您打开在浏览器了,说完我退出了远程。
5.用户再次找到我后,我继续进行了排查,首先确认是否是数据量过大导致的,这里我让用户在数据集查询中增加了TOP 分页,增加后一切正常,那么确认了问题的方向。
6.接下来我让用户取消了分页,按照小范围条件筛选进行尝试,发现同样没问题。
7.我让用户按照能出现异常的方式进行操作,操作完成后查阅运行日志,发现提示:超出最大单元格 最大单元格数90000
8.随后让用户到决策平台更改,用户关闭了行和格子的限制。
9.再次尝试的时候,出现了用户早上提到的内存保护的错误。
10.为了再次确认问题,并获取用户的服务器配置,我让用户调取了决策平台内存预警截图,通过截图看到用户主机内存仅有4GB ,而他在进行查询的时候内存占用量由50% 上升到了80%。
11.接下来我让用户拷贝了运行日志中的执行sql 语句到sql Server 中进行查询,发现用户的数据量为23000行,每行42列,每个单元格大约有15个汉字编码。
也就是说
按照通用UTF-8标准 3~4字节代表一个汉字
字母与汉字平均按照3个字节算
用户单次查询的数据量为
31542*23000 字 共计 43,470,000字 即 43MB
12.看到用户数据量之后,综合考虑前端缓存,普通字符转换为html富文本带来的增量(每个单元格使用富文本会增加200字左右,),那么服务器压力过大的原因找到了。
13.找到原因后,那么问题很好解决了,从基础设备方面,我们是可以增大内存的,但是成本偏高,后期生产数据增加后仍然会出现。
14.那么有没有更好的办法呢,有的,这里我推荐了用户采用数据库分页查询,同时我推荐了FineReport 社区 对于sql Server2012 以上版本数据库采用分页方案

本文地址:https://blog.csdn.net/qq_35564086/article/details/107388540

相关标签: FineReport学习