连接数

MongoDB .NET Driver 1.1 Bug导致MongoDB拒绝连接

▼魔方 西西 提交于 2020-01-17 19:04:08
现象: 触发这个bug,你会得到类似于以下的MongoDB错误日志 Fri Sep 28 06:37:21 [initandlisten] connection accepted from xx.xx.xx.xx:64034 #1073 (1014 connections now open) Fri Sep 28 06:37:21 [initandlisten] pthread_create failed: errno:11 Resource temporarily unavailable Fri Sep 28 06:37:21 [initandlisten] can't create new thread, closing connection 直接原因是驱动创建了过多的数据库连接。对于Linux系统来说,一个用户最多能创建的进程数是 ulimit -u 也就是说如果连接数接近(注意是接近,不会达到的,因为不是所有进程都用来创建连接了)这个值,就会看到以上这些错误。 同时,在.NET端也会相应地看到错误日志: an existing connection was forcibly closed by the remote host mongodb 另外会伴有错误日志 Unable to read data from the transport connection: A

JedisPoolConfig配置理解

烈酒焚心 提交于 2020-01-17 02:09:38
JedisPoolConfig config = new JedisPoolConfig(); //连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true config.setBlockWhenExhausted( true ); //设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接超过最大空闲时间,或连接数超过最大空闲连接数) config.setEvictionPolicyClassName( "org.apache.commons.pool2.impl.DefaultEvictionPolicy" ); //是否启用pool的jmx管理功能, 默认true config.setJmxEnabled( true ); //MBean ObjectName = new ObjectName("org.apache.commons.pool2:type=GenericObjectPool,name=" + "pool" + i); 默 认为"pool", JMX不熟,具体不知道是干啥的...默认就好. config.setJmxNamePrefix( "pool" ); //是否启用后进先出, 默认true config.setLifo( true ); //最大空闲连接数, 默认8个 config.setMaxIdle( 8 );

Nginx配置文件nginx.conf中文详解

旧时模样 提交于 2020-01-16 07:29:38
#定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数。 worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] error_log ar/loginx/error.log info; #进程文件 pid ar/runinx.pid; #一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。 worker_rlimit_nofile 65535; #工作模式与连接数上限 events { #参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。 use epoll; #单个进程最大连接数(最大连接数=连接数*进程数) worker_connections 65535; } #设定http服务器 http { include mime.types; #文件扩展名与文件类型映射表

负载均衡

淺唱寂寞╮ 提交于 2020-01-15 16:52:45
负载均衡是云计算的基础组件,是网络流量的入口,其重要性不言而喻。 什么是负载均衡呢?用户输入的流量通过负载均衡器按照某种负载均衡算法把流量均匀地分散到后端的多个服务器上,接收到请求的服务器可以独立的响应请求, 达到负载分担的目的。从应用场景上来说,常见的负载均衡模型有全局负载均衡和集群内负载均衡,从产品形态角度来说,又可以分为硬件负载均衡和软件负载均衡。 全局负载均衡一般通过DNS实现,通过将一个域名解析到不同VIP,来实现不同的region调度能力;硬件负载均衡器常见的有F5、A10、Array,它们的优缺点都比较明显, 优点是功能强大,有专门的售后服务团队,性能比较好,缺点是缺少定制的灵活性,维护成本较高;现在的互联网更多的思路是通过软件负载均衡来实现,这样可以满足各种定制化需求,常见的软件负载均衡有LVS、Nginx、Haproxy。 1:负载均衡有几种方式? 1.1 财大气粗的用F5 工作在Tcp协议下 1.2 不差钱的用DNS负载均衡,不过有些域名供应商不支持 1.3 技术牛逼的用Lvs 工作在Tcp协议下 1.4 初创型的小公司用Ngnix,haproxy 工作在Http协议下 2.负载均衡的集中策略 2.1 rr轮询调度算法 缺点:不考虑每台机器的处理能力 2.2 加权轮询调度算法 优点:考虑了每台机器的处理能力 2.3 sh原地址散列 2.4 dh目标地址散列 优点

使用命令行强制注销远程登录用户

北慕城南 提交于 2020-01-15 16:11:35
window2003远程桌面“已达最大连接数” 用远程桌面管理windows2003服务器,出现"已达最大连接数"提示,无法登入远程桌面。产生此提示的原因是以前使用远程桌面时直接关闭了窗口,而不是“注销”用户,导致远程桌面窗口虽已关闭,但用户使用的资源并未释放,达到系统允许最多连接数限制。 解决方法: 1. 强制远程连接到服务器 在“运行”窗口输入“mstsc /v:xxx.xxx.xxx.xxx(此处为服务器IP) /console”。可强制登录到远程服务器。 2.注销掉已断开的用户。 进入控制台: 输入query user 命令记录下已登录用户的ID 用logoff Id 命令注销已登录用户 3.解决此问题的办法 用注销来退出远程桌面而不是直接关闭窗口 限制已断开链接的会话存在时间,方法为:运行-Tscc.msc-连接-双击RDP-Tcp或右击-属性-会话-选中第一个的替代用户设置(O)-结束已断开的会话〔将默认值“从不”改为一个适当的时间,比如30分钟〕 法一:用“注销”方式退出远程桌面而不是直接关闭窗口 法二:踢出已经断开连接的用户 1、首先telnet到此主机上(不管你用什么方法),当然如果能直接操作机器更好,不过直接操作就不必用命令行了,用控制台更直观(略过)。 2、Telnet上去后,先看登陆的用户: 输入命令:query user 系统返回: 用户名Username

LVS负载均衡群集理论讲解

笑着哭i 提交于 2020-01-15 09:41:12
文章目录 群集概念 群集介绍 群集分类 负载均衡群集的工作模式 地址转换NAT IP隧道TUN 直接路由DR 负载均衡群集架构 LVS负载调度算法(常用) NFS网络文件系统 群集概念 群集介绍 群集(Cluster):由多台主句构成,但对外只表现为一个整体 在互联网应用中,随着站点对硬件的性能、影响速度、服务稳定性、数据可靠性越来越高,单台服务器力不从心。 解决方案:使用价格昂贵的小型机、大型机;使用普通服务器构建群集。 群集分类 根据群集所针对的目标差异,可分为三种类型 负载均衡群集 以提高应用系统的响应能力、尽可能处理更多的访问的请求、减少延迟目标,并获得高并发、高负载(LB)的整体性能。LB的负载分配依赖于主节点的分流算法。 高可用集群 以提高应用系统的可靠性、尽可能减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果。HA的工作方式包括双工和主从两种模式。 高性能运算集群 以提高应用系统的的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型,超级计算机的高性能(HPC)能力。高性能运算群集的高性能依赖于“分布式计算”、“并行计算”,通过专用硬件和软件,将多个服务器的CPU、内存等资源整合在一起,实现有大型,超级计算机才具备的能力。 负载均衡群集的工作模式 地址转换NAT 简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关

mongodb报错:connection refused because too many open connections: 819

一曲冷凌霜 提交于 2020-01-15 00:17:48
问题: 发现mongodb无法连接,查看mongodb日志,出现大量的如下报错: [initandlisten] connection refused because too many open connections: 819 mongodb的连接数到达819后,就无法增加,所以无法连接上去。 分析解决: 1、maxConns 限制 默认情况下,在Linux系统中,mongodb的最大连接数为819。 可以修改mongodb的最大连接数,修改其配置文件mongod.conf: maxConns=20000 #官方指定,mongodb最大连接数设置,不能超过20000 重启mongodb服务,让配置生效。 2、ulimit 限制 如果调大了maxConns,还是出现 too many open connections 的报错,也可能跟系统的ulimit限制有关。 Linux系统默认每个进程的文件句柄限制open files 为1024,这数值一般过小,需要调大。 查看系统当前所有的limit信息 # ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited

Linux文件和目录的权限笔记

这一生的挚爱 提交于 2020-01-14 03:48:11
  查看文件或者目录的权限命令:ls -al   # -a 表示全部文件包含隐藏文件,-l 表示列出每个文件的详细信息   比如执行 ls -al   total 115   drwxr--x--- 4 root root 4096 Oct 24 02:07 install.log   格式说明:通过 ls -al 格式化输出的文件详细信息,每个文件都有7列。      第一列:drwxr--x--- 有10个字符组成,   第一个字符可能包含的值: d 目录,- 普通文件,l 链接文件,b 块文件,c 字符文件,s socket文件,p 管道文件。   后面的9个字符每三个字符作为一组,组合为:rwx r :可读权限,w:可写权限,x:可执行权限,如果是没有权限,用小横线来代表。   第二列:表示连接数,文件的连接数为1.目录的连接数是该目录中包含其他目录的总个数+2。   第三列:表示该文件的所有人。   第四列:表示该文件的所有组。   第五列:该文件的大小。 无锡妇科医院哪家好 http://www.xasgyy.net/   第六列:该文件的创建时间或最近的修改时间。   第七列:表示文件名。 来源: https://www.cnblogs.com/djw12333/p/10967253.html

详解C3P0(数据库连接池)

放肆的年华 提交于 2020-01-12 22:02:32
一、基本定义   C3P0是一个开源的JDBC连接池,它实现了数据源与JNDI绑定,支持JDBC3规范和实现了JDBC2的标准扩展说明的Connection和Statement池的DataSources对象。   即将用于连接数据库的连接整合在一起形成一个随取随用的数据库连接池(Connection pool)。 二、使用C3P0(数据库连接池)的必要性   当我们在进行基于数据库的web程序开发时,我们可以先在主程序(如Servlet、Bean)中通过JDBC中的DriverManager建立数据库连接,然后将要对数据库进行操作的sql语句封装到Statement中,最后在返回结果集后断开数据库连接。以上是较为传统的开发模式,然而用这种模式开发会埋下严重的安全隐患。 1.JDBC传统模式开发存在的主要问题      1.1>时间和内存资源消耗巨大       普通的JDBC数据库连接使用DriverManager来获取,每次向数据库建立连接的时候都要将Connection加载到内存中,再根据JDBC代码(或配置文件)中的用户名和密码进行验证其正确性。这一过程一般会花费0.05~1s,一旦需要数据库连接的时候就必须向数据库请求一个,执行完后再断开连接。显然,如果同一个数据库在同一时间有数十人甚至上百人请求连接势必会占用大量的系统资源,严重的会导致服务器崩溃。      1.2

私链上的NeoGUI

白昼怎懂夜的黑 提交于 2020-01-12 16:21:00
本文描述使用NeoGUI连接本地私链(私链的搭建请参考‘在windows上搭建neo私链’),并从私链中提取NEO的过程。 1.NeoGUI下载 下载链接:https://github.com/neo-project/neo-gui-2.x/releases 本文中的NeoGUI使用的是2.10.3版本。 2.连接私链 将节点目录中的protocol.json文件覆盖NeoGUI所在目录的protocol.json。 修改config.json中的端口,与四个私链节点的端口区分开: 此时运行NeoGUI会发现连接数为零,这是因为运行的每个NEO节点,缺省只允许三个客户端连接它,必须增加更多的连接数,NeoGUI才能连接该节点并同步区块数据。修改每个节点目录下的config.json,增加"MaxConnectionsPerAddress": 10到P2P配置中: 完成以上配置后,重新运行节点,使用NeoGUI连接正常(区块高度和连接数均不为零): 3.提取NEO NEO的创世区块中存着一亿的NEO,要使用需要先提取出来。 1>提取NEO到合约地址(需要在四个钱包中都完成该处理,否则在签名时会出现‘没有找到可以签署该数据的私钥’的错误提示) 打开节点使用的钱包,在界面空白处右键:创建合约地址-多方签名...。 在‘公钥列表’中加入四个节点钱包的公钥,然后将‘最小签名数量’设置为3