高并发报错too many clients already或无法创建线程
高并发报错 too many clients already 或无法创建线程
本文出处:https://www.modb.pro/db/432236
问题现象
高并发执行 SQL,报错“sorry, too many clients already”;或报无法创建线程、无法 fork 进程等错误。
原因分析
该类报错是由于操作系统线程资源不足引起,查看操作系统 ulimit -u,如果过小(例如小于 32768),则基本可以判断是操作系统限制引起的。
处理办法
通过“ulimit -u”命令查看操作系统 max user processes 的值。
[root@MogDB36 mnt]# ulimit -u unlimited
按如下简易公式计算需要设置的最小值。
value=max(32768,实例数目*8192)
其中实例数目指本节点所有实例总数。
设置最小值方法为,修改/etc/security/limits.conf,追加如下两行:
hard nproc [value]
soft nproc [value]
对于不同操作系统修改方式略有不同,centos6 以上版本可以修改/etc/security/ limits.d/90-nofile.conf 文件,方法同上。
另外,也可以直接通过如下命令设置,但 OS 重启会失效,可以添加到全局环境变量/etc/profile 文件中使其生效。
ulimit -u [values]
在大并发模式下,建议开启线程池,使数据库内部的线程资源受控。
高并发报错too many clients already或无法创建线程的更多相关文章
- C#或Net连接Oracle操作提示 Oracle 客户端 version 8.1.7 或更高版本报错
异常问题 远程连接ORCALE 服务器,而本地未安装任何ORCALE 相关客户端及ODAC .using System.Data.OracleClient;当我们用程序操作Oracle库的时候,OPE ...
- 【高并发】通过ThreadPoolExecutor类的源码深度解析线程池执行任务的核心流程
核心逻辑概述 ThreadPoolExecutor是Java线程池中最核心的类之一,它能够保证线程池按照正常的业务逻辑执行任务,并通过原子方式更新线程池每个阶段的状态. ThreadPoolExecu ...
- [Jmeter并发报错解决方案]org.apache.http.NoHttpResponseException: 10.0.4.147:8000 failed to respond
背景:公司模型框架是Nginx+uwsgi+Django+nginx,一开始使用Jmeter进行高并发请求测试,发现成功率只有50%,换用postman,成功率100%,代码进行高并发一样不会报错. ...
- AX dynamics 2012 ssrs 开发报错:Native compiler return value: ‘[BC30179]
具体报错内容如下: System.Web.Services.Protocols.SoapException: An unexpected error occurred while compiling ...
- Android开发报错系列(一),java.lang.NullPointerException,at android.widget.ListView.setupChild
问题描述:运行代码是报空指针错误,java.lang.NullPointerException,at Android.widget.ListView.setupChild 问题定位:listview控 ...
- JQuery开发报错集锦
报错一:JQuery $.each遍历JSON字符串报Uncaught TypeError:Cannot use 'in' operator to search for "70". ...
- SpringBoot使用Filter过滤器处理是否登录的过滤时,用response.sendRedirect()转发报错
1.使用response.sendRedirect("/login")时报错,控制台报错如下: Cannot call sendError() after the response ...
- jedisCluster 报错: redis.clients.jedis.exceptions.JedisClusterException: No way to dispatch this command to Redis Cluster because keys have different slots.
根本原因:jedisCluster不支持mget/mset等跨槽位的操作. 版本:2.9.0 解决办法,推荐更改redis的驱动修改为: lettuce lettuce 项目地址:https://gi ...
- Linux下使用RedisPool时报错:redis.clients.jedis.HostAndPort getLocalHostQuietly 严重: cant resolve localhost address
项目在本地无错误,当部署到linux服务器以后,启动tomcat报错: 意思是找不到服务的名称. 后在网上检索相关答案,是因为在/etc/hosts文件中没有加入当前服务器实例的名称,将当前服务器实例 ...
- react native 开发报错
1:oc对象名是RCTPoctalk 2:js中导入原生方法 3:报错:对象没有定义 出现这样的问题可能是react native 不允许使用“RCT”开头的前缀 4:解决办法:“RCT_EXPORT ...
随机推荐
- 【Azure 应用服务】Azure App Service (Windows) 使用Flask框架部署Python应用,如何在代码中访问静态文件呢?如何设置文件路径?是相对路径还是绝对路径呢?
问题描述 使用Flask框架部署Python代码,如何访问其中的静态文件呢?如static问价夹中的图像资源,同时如何在代码中读取txt文件中的内容呢?是相对路径或者是绝对路径呢? 实验步骤 在App ...
- 【Azure 云服务】Azure Cloud Service 关于虚拟机资源,杀毒软件配置,补丁机制的问答
一:云服务后端是2台虚拟机,Work Role,Web Role,可以RDP进去,但是为什么在虚拟机列表里看不到呢? 因为云服务(经典)是PaaS服务,有别于传统的IaaS服务,其提供的WebRole ...
- RocketMQ(1) 基础介绍和单机-集群安装
1. MQ简单介绍 1.1 应用场景 应用解耦 系统的耦合性越高,容错性就越低.以电商应用为例,用户创建订单后,如果耦合调用库存系统.物流系统.支付系统,任何一个子系统出了故障或者因为升级等原因暂时不 ...
- 微信小程序直播,腾讯云直播+微信小程序实现实时直播
一:小程序代码端 小程序直播使用小程序组件 live-pusher 组件和live-player组件 首先开通直播权限 小程序开发工具内进行推流拉流都不会成功,所以需要使用两个手机进行推拉流测试: 1 ...
- 整数输入框 InputNumberIntZen.vue 只能输入整数 不能输入.等其他字符
这版的输入限制堪称完美 perfect! 20230712 更新 加入 onBlurHandle 如果输入的02 失焦的时候 变成2 <!--数字输入框 只能输入数字 整型 InputNumbe ...
- mainWindow = new BrowserWindow 打开慢的原因 electron 已解决 Windows Defender 拦截导致
Windows Defender 导致拦截 不是变量的事儿 解决方案: win10 开始 设置 - windows 安全中心 - 病毒和威胁防护 - 病毒和威胁防护设置 - 排除项 - 添加排除项 将 ...
- stm32 使用多串口通信调试总结
前记: stm32使用多个串口通信,这个项目遇到了不少问题,值得反思和深入总结一下. 提纲: 这次的问题,主要有几个部分组成: A 多串口的DMA配置,这个需要注意,尽量不要使用同一个DMA ...
- UDP、IMCP、ARP协议通过netmap解析的实现。
上一篇文章我们讲了一个异步的线程池大概需要如何去实现,现在的话,我们如何来解析一个UDP的包. 环境的搭配 这个环境的问题困扰了很久,这个netmap已经不再更新了,支持Ubuntu16.04-Ubu ...
- NJOPT自控第三次积分赛--风力摆小结
NJOPT自控第三次积分赛--风力摆小结 题目 题目就不放了,百度一搜就有,就是2015国赛的风力摆.. 方案 我们队采用的主控是STM32F401CCU6(科协传统),性能完全够用:姿态传感器采用的 ...
- Activity系列博客5篇
目录介绍 01.前沿介绍 02.handleLaunchActivity 03.performLaunchActivity 04.activity.attach 05.Activity的onCreat ...