经过这 2 月的反复测试,终于搞明白是什么问题了,explain 的问题确实是 newrelic 的行为, set NAMES 这个是因为家里 wifi 链接的智能设备太多,超出服务商光猫拨号上网设备上限了(联通业务员说家庭光猫拨号上网设备上限是 5 个),上网超过 5 个设备,就会随机挤掉超出设备的网络链接,我电脑出现这个时候是因为被挤掉了,然后再联网的话,光猫就会重新拨号,最终业务员修改为路由器拨号后终于 ok 了,他说如果设备再多(超过 10 几个吧),还出现这问题的话就得换成商业宽带了。
经过测试,发请求时候卡住一会,然后显示 set NAMES 这一行,是网络的原因,具体网络哪里的问题就不知道了,换个 wifi 就没这事了
经测试,explain 的问题确实是 newrelic 的行为
经测试,explain 的问题确实是 newrelic 的行为
单独发送 ActiveRecord::Base.connection_pool.send(:new_connection),马上就有结果,速度很快,我估计也是我网络的问题,我找机会换几个网络测测,还是非常谢谢你
我链接的是阿里云的 mysql 数据库,我同事和我 database.yml 里同样的设置,他就好的,不会出现我这种情况,就我这样,我俩在不同地方办公,网络环境不一样,我猜是不是跟我使用的 wifi 有关
你好,我 rails server 启动时候会执行这个,就是你说的新建数据库连接,但是现在问题是启动后,每发一个请求,都是 log 中等待十几秒或者几十秒看到再去执行一次或几次这个 set NAME, 然后才会接着往下去读取数据库,我就是不明白为什么 server 启动后,每发一个请求都会去 set NAME 这个,另外您发的这个链接的代码,我也搜到过,但是我不懂对解决我这个问题有什么帮助,您能帮帮忙吗
经你的提醒,我猜是不是因为用了 newrelic 的原因,我正在测试去掉后还会不会 explain
rails 是 5.1.7 版本,ruby 是 2.3.1 版本,你说的 config.active_record.auto_explain_threshold_in_seconds 在项目里没有设置。
数据库我查了一下 charset
果然,学习了
@topic.node&.name 相当于 @topic.node.try(:name),意思是@topic.node为 nil 的话,这里不会报错,最后结果也是 nil
.to_json
顶一个,希望郑州的 ruby 氛围越来越浓厚
有关联数据所以删除不了,你可以把 products 里 user_id 等于 4 的产品都删掉或者设成 nil,再删用户
3 楼说的对
upstream 里 fail_timeout 去掉
写个 self. to_csv 方法 想往里写什么就写什么
你那你那个报错截图 cable. js 里 是不是 可能手误?
所以你生产环境得配 redis 启动 redis 服务
生你看看你的 cable. yml 就知道了
你可以在后台 log 里看到他 render 的到底是 html 还是 js 另外你这个 form _with 换成 form_tag 试试,如果不是 model 建议用 form_tag
<%= image_tag problem.image, size: '100x100' if problem.image.attached? %>
最近刚好也遇到这个问题,换了国内科大,清华,阿里的源都不好使,最后还是换回本源,终端用代理,速度飞快,你终端用代理不行我觉得要么就是你没代理上,要么就是源没整对
我在 vscode 里用,经常 cpu 会超过 100%,然后自动补全的提示代码也卡住出不来了,需要重启 vscode 不知道为啥
内存太高,不知道在 sublime 里咋样