连接数

秒懂:tomcat的maxConnections、maxThreads、acceptCount 图解

两盒软妹~` 提交于 2019-12-05 08:31:14
本文,是《tomcat的maxConnections、maxThreads、acceptCount》篇 ,为大家解读tomcat的maxConnections、maxThreads、acceptCount, 大家可以藏好,一定有用的到时候 。 怎么配置tomcat,才能使得自己的服务效率更高呢? 首先,这和tomcat的使用的IO模式有关 关于Java IO模式、以及IO处理的线程模型等基础的通信框架的知识,是Java程序员的重要、必备的内功,具体请参见尼恩编著的《Netty、Zookeeper、Redis高并发实战》一书,这里不做过多的赘述。 其次,也和tomcat的配置参数有关 尤其是以下三个配置项:maxConnections、maxThreads、acceptCount。 1.4.1 Tomcat的高效配置 Tomcat的maxConnections、maxThreads、acceptCount三大配置,分别表示最大连接数,最大线程数、最大的等待数,可以通过application.yml配置文件来改变这个三个值,一个标准的示例如下: server: tomcat: uri-encoding: UTF-8 #最大工作线程数,默认200, 4核8g内存,线程数经验值800 #操作系统做线程之间的切换调度是有系统开销的,所以不是越多越好。 max-threads: 1000 #

【转】nginx配置总结

ぃ、小莉子 提交于 2019-12-05 01:56:48
== 原文:http://www.2cto.com/os/201212/176520.html == PS:Nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这篇是目前最完整的Nginx配置参数中文说明了。更详细的模块参数请参考:http://wiki.nginx.org/Main #定义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 |

Linux查看端口的连接数

寵の児 提交于 2019-12-04 23:19:04
一、查看哪些IP连接本机 netstat -an 二、查看TCP连接数 1)统计80端口连接数 netstat -nat | grep -i "80" | wc -l 2)统计httpd协议连接数 ps -ef | grep httpd | wc -l 3)统计已连接上的,状态为“established netstat -anp | grep ESTABLISHED | wc -l 4)、查出哪个IP地址连接最多,将其封了 netstat -anp | grep ESTABLISHED | awk {print $5}|awk -F: {print $1} | sort | uniq -c | sort -r +0n netstat -anp | grep SYN | awk {print $5}|awk -F: {print $1} | sort | uniq -c | sort -r +0n 实例: 1、查看Apache当前并发访问数: netstat -anp | grep ESTABLISHED | wc -l 对比httpd.conf中MaxClients的数字差距多少。 2、查看有多少个进程数: ps aux | grep httpd | wc -l 3、可以使用如下参数查看数据 # ps -ef | grep httpd | wc -l 1388 统计httpd进程数

Nginx 相关配置文件修改

你。 提交于 2019-12-04 15:08:31
1、 为了使 Nginx 服务的启动、停止、重载等操作更加方便,可以编写 Nginx 服务脚本,并使用 chkconfig 和 systemctl 工具来进行管理,也更加符合 RHEL 系统的管理习惯。 [root@nginx~]# vim /etc/init.d/nginx #!/bin/bash # chkconfig: 2345 99 20 # description: Nginx Server Control Script PROG="/usr/local/nginx/sbin/nginx" PIDF="/usr/local/nginx/logs/nginx.pid" case "$1" in start) $PROG ;; stop) kill -s QUIT $(cat $PIDF) ;; restart) $0 stop $0 start ;; reload) kill -s HUP $(cat $PIDF) ;; *) echo "Usage: $0 {start|stop|restart|reload}" exit 1 esac exit 0 保存退出 [root@nginx~]#chmod +x /etc/init.d/nginx [root@nginx~]#chkconfig --add nginx [root@nginx~]#chkconfignginx

Nginx配置文件nginx.conf中文详解(总结)

最后都变了- 提交于 2019-12-04 08:45:16
#定义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; #文件扩展名与文件类型映射表

radis-stat监控几个重要指标

天大地大妈咪最大 提交于 2019-12-04 06:03:14
1 慢日志: 1.1、通过命令[slowlog get]得到 Redis 执行的 slowlog 集合,理想情况下slowlog 集合应该为空即没有任何慢日志。 1.2、若发现有慢命令,则应该逐个分析是否正常,是否需要优化。 2 存活情况:是最重要的健康指标,通过命令 PING 的响应是否为 PONG 来判断。 3 连接数:connected_clients 3.1、连接的客户端数量,radis-stat 监控工具或命令 [redis-cli info Clients|grep connected_clients] 得到,这个值与使用 Redis 服务的连接池配置关系比较大,这个值如果很大,需要排查问题原因。 3.2、另外还有一个拒绝连接数(rejected_connections)也需要关注,这个值理想状态是 0 。如果大于 0,说明创建的连接数大于 maxclients,需要排查原因。是 Redis 连接池配合不合理还是连接这个Redis 的服务过多。 4 阻塞客户端数量: blocked_clients 4.1 blocked_clients 通常是执行了 list 数据类型的 BLPOP 或者 BRPOP 命令引起的,可以通过[redis-cli info Clients|grep blocked_clients]得到,这个值最应该=0。 5 使用内存峰值: 5.1 监控

IPVS支持的调度算法

浪子不回头ぞ 提交于 2019-12-04 05:02:39
  对于后端的RS集群,LB是如何决策应该把消息调度到哪个RS节点呢?这是由负载均衡调度算法决定的。IPVS常用的调度算法有: 轮询(Round Robin)   LB认为集群内每台RS都是相同的,会轮流进行调度分发。从数据统计上看,RR模式是调度最均衡的。 加权轮询(Weighted Round Robin)   LB会根据RS上配置的权重,将消息按权重比分发到不同的RS上。可以给性能更好的RS节点配置更高的权重,提升集群整体的性能。 最小连接数(Least Connections)   LB会根据和集群内每台RS的连接数统计情况,将消息调度到连接数最少的RS节点上。在长连接业务场景下,LC算法对于系统整体负载均衡的情况较好;但是在短连接业务场景下,由于连接会迅速释放,可能会导致消息每次都调度到同一个RS节点,造成严重的负载不均衡。 加权最小连接数(Weighted Least Connections)   最小连接数算法的加权版~ 地址哈希(Address Hash)   LB上会保存一张哈希表,通过哈希映射将客户端和RS节点关联起来。 来源: https://www.cnblogs.com/ExMan/p/11832593.html

c3p0引起的数据库死锁问题

核能气质少年 提交于 2019-12-04 04:49:13
代码测试本地无误,于是放到外网服务器测试,出现了这样的错误 com.mchange.v2.async.ThreadPoolAsynchronousRunner - 46651078 [Timer- 18 ] WARN com.mchange.v2.async.ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector @1c17bd4 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks! 看到这个头都大了,怎么办呢?为什么出现这样的情况? 我的答案是: 因为数据库的连接数是有限的,每次应用启动C3p0都会占用数据库的连接来填充C3p0的连接池,而当数据库的资源被占光时就会因为无法获得共享资源而报死锁。 更改对应配置文件里面的最大连接数和初始化连接数: 未改前: <property name="maxPoolSize" value="100" /> <property name="initialPoolSize" value="2" /> 修改之后: <property name="maxPoolSize" value="1" />