服务器1200并发优化(个人总结)

1、查看服务器情况

首先,在第一次压测过后,你可以看到服务器的各项数据

一开始的服务器配置为:

16G内存(已用13.6G,剩余可用2G)

8核2600MHZ

带宽20M

如图所示,我这边带宽和cpu已经不太能顶住这个压力了,所以后续都暂时升级了。(还需要看数据库、redis等压力情况)

后续服务器配置为:

32G内存

16核

带宽50M

2、修改linux系统

2.1、socket 的最大连接数的修改,在centos中修改socket最大连接数的方法     (这里的文件是进程文件已经在运得的,不能使用vim编辑器修改),方法如下

cat /proc/sys/net/core/somaxconn
echo 50000 > /proc/sys/net/core/somaxconn (系统默认的值是128,现在改成50000)

2.2、加快系统的tcp回收机制 (系统默认tcp在断开后还会存活一段时间) 方法如下

cat /proc/sys/net/ipv4/tcp_tw_recycle

echo  1 > /proc/sys/net/ipv4/tcp_tw_recycle  (系统默认是0,修改为1)

2.3、允许空的tcp回收利用 方法如下

cat /proc/sys/net/ipv4/tcp_tw_reuse

echo 1 >/proc/sys/net/ipv4/tcp_tw_reuse  (系统默认为0,修改为1)

2.4、让系统不做洪水抵御保护,(当系统检测到80端口在大量的请求时,会自动给返回信息中增加 cookie ,还验证客户端身份,从而避免受到攻击,但这时只是高并发,并不是攻击,所以要把这个抵御机制给关闭) 方法如下

cat /proc/sys/net/ipv4/tcp_syncookies

echo 0 >/proc/sys/net/ipv4/tcp_syncookies(系统默认为1,修改为0)

上面参考自:单机 nginx 应对高并发处理_nginx1000并发就挂了-优快云博客

修改完如上linux配置后,apache-jmeter-5.6.3压测工具自测,连续请求10组(每次/1200),平均访问时间已达300ms左右,修改前是平均3.8s(此时还不是并发1200)(在操作这一步之前,我nginx配置是已经修改过的)

3、修改nginx

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;
#worker_rlimit_nofile 65535;

events {
    worker_connections  1024;
#    multi_accept on;  # 同时接受多个连接请求,提高处理效率
#    use epoll;        # 在 Linux 上使用 epoll 事件模型,提升性能
}


http {
    upstream backend {
        server 127.0.0.1:9511;
#        server 127.0.0.1:9513;
#        server 127.0.0.1:9514;
#        keepalive 1024;  # 根据需要调整
    }
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值