系统优化相关的命令

一、系统相关

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    查看建立稳定连接数量

查看最大socket连接数:

 使用命令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链接,再进入 

你可能感兴趣的:(服务器配置)