一、系统相关
1、查询系统指定端口的连接数(统计80端口连接数):# netstat -ant | grep -i "80" | wc -l
2、查询指定端口上有哪些进程占用:# sudo netstat -lnp | grep 80
3、查询进程详情:# ll /proc/{PID}
查看网络连接数:
netstat -an |wc -l
netstat -an |grep xx |wc -l 查看某个/特定ip的连接数
netstat -an |grep TIME_WAIT|wc -l 查看连接数等待time_wait状态连接数
netstat -an |grep ESTABLISHED |wc -l 查看建立稳定连接数量
使用命令ulimit -a查看,其中open files就是最大连接数。
修改最大连接数:vi /etc/security/limits.conf 文件末尾添加或修改成如下:
*soft nofile 32768
*hard nofile 32768
重启即可生效,或者使用ulimit -n 204800临时生效。
二、容器相关
1、undertow容器
# 是否打开 undertow 日志,默认为 false
server.undertow.accesslog.enabled=false
# 设置访问日志所在目录
server.undertow.accesslog.dir=logs
# 指定工作者线程的 I/0 线程数,默认为 2 或者 CPU 的个数
server.undertow.io-threads=
# 指定工作者线程个数,默认为 I/O 线程个数的 8 倍
server.undertow.worker-threads=
# 设置 HTTP POST 内容的最大长度,默认不做限制
server.undertow.max-http-post-size=0
三、数据库
1、查看sql执行情况
在服务器上执行mysql -u root -p之后,输入show full processlist; 可以看到正在执行的语句。
2、查看索引信息(查看某一表索引)
SELECT * FROM mysql.`innodb_index_stats` a WHERE a.`database_name` = '数据库名' and a.table_name like '%表名%';
3、查询sql的执行策略
通过EXPLAIN分析SQL语句
EXPLAIN SELECT id,title,most_top,view_count,posttime FROM article where title='dddd'
4、连接数
mysql> show status like 'Threads%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 58 |
| Threads_connected | 57 | ###这个数值指的是打开的连接数
| Threads_created | 3676 |
| Threads_running | 4 | ###这个数值指的是激活的连接数,这个数值一般远低于connected数值
+-------------------+-------+
Threads_connected 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当前并发数
这是是查询数据库当前设置的最大连接数
mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 1000 |
+-----------------+-------+
可以在/etc/my.cnf里面设置数据库的最大连接数
[mysqld]
max_connections = 1000
设置最大连接数
mysql> set GLOBAL max_connections=2000;
mysql> set GLOBAL max_user_connections=1500;
mysql> show global variables like "max%connections";
5、数据包大小设置:
mysql> show VARIABLES like '%max_allowed_packet%';
修改方法:
方法1:可以编辑 my.cnf 来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
如果找不到my.cnf可以通过mysql --help | grep my.cnf
方法2:进入mysql server 在mysql 命令行中运行
set global max_allowed_packet = 2*1024*1024*10
然后关闭 mysql server链接,再进入