问题一:在Nacos中,有大佬遇到过这种情况吗?
晚上集中发版时遇到nacos老年代暂满,导致频繁进行full gc,但gc后内存无法降下来。目前有4台机器,每台16核32GB内存,其中老年代分配了10GB。有没有遇到过这种情况的经验分享?另外每个nacos服务内存都分配了20GB,其中年轻代10GB,老年代10GB,总内存为80GB,我的主要问题出现在集中发版时,老年代的内存回收不彻底,发版完成后,情况恢复正常了。
参考回答:
升级下jdk.垃圾回收的更完美,用jdk11.线程数量.gc性能 优化的都还不错 1、你可以看一下你server节点长轮询连接数是否很不均衡。
2、我之前遇到的server内存泄漏,是因为/nacos/v1/cs/configs/listener这个长轮询接口在服务端的对象被强引这释放不了。
3、扩大server内存,升级客户端到2.x。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/573633
问题二:在阿里云Serverless中,函数里边对多线程有限制吗?
函数里边对多线程有限制吗?配置了8个vCPU,java中的parallelStream只有一个线程执行在执行
参考回答:
在阿里云 Serverless 中,函数对多线程有一些限制。具体来说,以下是一些需要注意的方面:
- 并发限制:每个函数实例的最大并发数是有限的,这是由函数计算平台自动管理的。并发数受到函数配置、资源配额以及账户级别的限制。如果超过最大并发数,新的请求可能会被拒绝或排队等待。
- 线程池和连接池:函数内部使用的线程池和连接池通常也受到限制。例如,Java 函数中的线程池和数据库连接池都需要进行适当的配置,以避免资源耗尽或性能问题。
- 长时间运行限制:函数执行时间在阿里云函数计算中是有限制的。对于标准版函数,默认执行时间限制为 10 分钟,超过该时间会被强制停止。若需要更长的执行时间,可以考虑使用高性能版函数。
- 共享资源:由于阿里云 Serverless 是一个共享型的环境,多个函数实例可能同时运行在同一物理机上。因此,需要避免函数之间的竞争条件和资源冲突,确保正确处理共享资源的访问。
了解并合理考虑这些限制对于设计和编写具有多线程需求的函数是非常重要的。需要根据具体需求,合理规划函数的并发数、线程池配置和资源消耗,并进行充分的测试以确保函数在实际运行中的可靠性和性能。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/573608
问题三:在阿里云Serverless中,如何安装 nodejs20 的环境 ?
如何安装 nodejs20 的环境 ?nodejs nodejs安装第三方依赖
参考回答:
函数计算目前支持Node.js 6.x、Node.js 8.x、Node.js 10.x、Node.js 12.x和Node.js 14.x(公测中)运行环境。本文介绍了Node.js运行环境的日志、函数、错误、模块使用和外部命令调用等内容。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/573607
问题四:在阿里云Serverless中,为什么deploy.sh运行时node的版本时10的?
请问函数式计算部署midway时按照官网的命令设置 但是为什么deploy.sh运行时node的版本时10的?
然后报错
参考回答:
在阿里云 Serverless 中,如果您发现 deploy.sh
脚本运行时使用的 Node.js 版本是 v10,这可能是由于以下原因:
- 默认版本:
- 阿里云 Serverless 可能使用了某个特定的默认 Node.js 版本(如 v10)作为其基础镜像的一部分。
- 这个默认版本可能会被用于部署脚本和其他辅助工具。
- 函数配置:
- 如果您没有明确指定 Node.js 的版本,在创建或更新函数时,Serverless 服务可能会选择一个默认的稳定版本来确保兼容性。
- 本地环境:
- 如果您在本地执行
deploy.sh
脚本,并且您的开发环境中安装的是 Node.js v10,那么这个脚本将会使用该版本的 Node.js。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/573603
问题五:在阿里云Serverless中,环境变量里设置TZ不行怎么办
咨询下,自定义运行时custom.debian10如何设置时区,好像到环境变量里设置TZ不行
参考回答:
在阿里云 Serverless 中,如果您发现设置环境变量 TZ
不起作用,可以尝试以下方法:
- 确保正确设置:
- 检查您的函数配置中是否正确设置了环境变量
TZ
。确保格式和值都是正确的。 - 例如,要设置为 UTC 时间,请使用:
TZ=UTC
- 重启函数实例:
- 环境变量更改可能需要重新启动函数实例才能生效。
- 在函数详情页面,找到“基本配置”部分,然后点击“重置实例”。
- 更新代码:
- 如果您正在使用 Node.js,确保在代码中正确地访问环境变量。例如,使用
process.env.TZ
来获取TZ
的值。
- 检查时区兼容性:
- 验证所选的时区是否被您的应用程序支持。有时,特定的时区可能会因为名称不规范或不再使用而无法识别。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/573602