找回密码
 立即注册

QQ登录

只需一步,快速开始

swejet 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-9-1 16:26  /   查看:2888  /  回复:11
1金币
循环的时候我就担心过内存、连接的问题。

先汇报一下,我问了好几天的循环,搞出来了,循环跑了,设定了152天,程序花了102分钟,跑了152次循环,往数据库里写了20万出头的数据,然后循环跑完了,浏览器也死了。

在整个过程中,浏览器F12开发者工具控制台都没有任何的输出,在前期测试的时候,循环是跑完后一次性向控制台输出,条数少还不显,现在条数多了,现在浏览器拖的机器也卡死了

我觉得,不应该循环跑完了才一次性向控制台写值,而是随跑随写,随释放内存和连接才对。

最佳答案

查看完整内容

您好,如果您确定是只是浏览器卡死的话,那是因为浏览器不支持显示太大的日志, 跟缓存没有关系, 如果有demo,我们可以确认一下这问题, 如果是浏览器显示日志的时候崩了,那发布之后 就不会有这个问题,因为发布之后处于安全性考虑是不在客户端浏览器打印日志的,

11 个回复

倒序浏览
最佳答案
最佳答案
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-9-1 16:26:24
来自 11#
您好,如果您确定是只是浏览器卡死的话,那是因为浏览器不支持显示太大的日志,
跟缓存没有关系,
如果有demo,我们可以确认一下这问题,
如果是浏览器显示日志的时候崩了,那发布之后 就不会有这个问题,因为发布之后处于安全性考虑是不在客户端浏览器打印日志的,
回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-9-1 16:36:41
2#
死机死得非常彻底,我是win10,连右下角的表都停了,强制重启的

这可咋整?我不能跑一次重启一次机器吧?

这我复现一次要1个半小时呢

正式发布一下,在服务端跑能好吗?我现在是在设计器中执行的

不应该循环跑完了才向控制台打印日志啊,这我要跑个3年的,什么服务器也卡死了呀,应该随时时释放占用的内存啊
回复 使用道具 举报
ZDYW悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-9-1 17:30:28
3#
高手,膜拜一下。
回复 使用道具 举报
amtath悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-9-1 17:32:33
4#
提性能需求的都是好同志
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-9-1 17:48:39
5#
152次循环如果只是定义个日期变量的话,绝对不可能卡死,但您的152次循环是发152个http请求,
每次可能要拿几千条数据,同时要对数据库进行操作,
都是非常吃机器IO性能和CPU的,
同时一个进程也是有时间片的,运行太长时间可能稳定性会变弱
频繁进行数据库操作还可能造成死锁的问题,所以这不一定是内存的原因,
而且这种方式可能也需要在斟酌
回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-9-1 18:03:25
6#
我定义152个日期变量干嘛,当然是要发请求了,我前面说了,152次请求,每次1300来条这个样子,一共大约20万条数据。
循环跑完时是没死机的,最后一次请求也正确写入数据库了,这时机器正常,我还在一遍遍发select 查询呢,此时,浏览器的控制台还没有任何输出,我本来想着等浏览器控制台输出完了,就再搞一次,结果,机器就迅速迟滞起来了,鼠标延迟明显,然后很快机器就咽气了。

可是,那些占IO和CPU的写数据库的工作已经干完了,现在是在往控制台写日志的时候死的,你听明白了吗?跟马帅一样,不是在提审的时候死的,是在医院被毒死的,我说的你明白了吗?
回复 使用道具 举报
阿享悬赏达人认证
银牌会员   /  发表于:2021-9-1 19:57:10
8#
swejet 发表于 2021-9-1 18:03
我定义152个日期变量干嘛,当然是要发请求了,我前面说了,152次请求,每次1300来条这个样子,一共大约20万 ...

大哥牛批
回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-9-1 20:18:00
9#

军功章上有你的一半
回复 使用道具 举报
alexyui悬赏达人认证 活字格认证
银牌会员   /  发表于:2021-9-1 20:34:15
10#
这得多大的系统
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部