ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 1. 带宽占用过高,导致服务器奔溃: 解决方案:降低响应的数据大小,采用gzip处理,对游戏用户配置数据进行了压缩处理 ## 2. nginx 工作连接数不够: 解决方案: 1. 设置`worker_processes`工作进程数 ``` 设置规则:设置为 CPU 的总核数(CPU总核数 = 物理CPU个数 \*️ 每颗物理CPU的核数 ) ``` ``` # 查看物理 CPU 个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每个物理 CPU 的核数 cat /proc/cpuinfo| grep "cpu cores"| uniq # 查看逻辑 CPU 的个数 cat /proc/cpuinfo| grep "processor"| wc -l # 查看 CPU 的信息 cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c # 查看内存信息 cat /proc/meminfo 设置 worker_connections 工作连接数 ``` 2. 该参数表示每个进程允许的最多连接数,默认值为 10240 。 ``` 理论上每台 Nginx 服务器的最大连接数为 worker_process * worker_connections 即(CPU总核数 * 10240) ``` 3. 设置 worker_limit_nofile 打开文件最大句柄数 ``` 该参数表示 Nginx 一个进程打开的最多文件数目,理论值为:ulimit -n / worker_processes 但是 Nginx 分配请求并不是那么均匀,所以一般与 ulimit -n 的值保持一致 ``` ## 3. java运行cpu过高:(启动java配置参数过低) 解决方案: ``` nohup java -jar -Xms4096m -Xmx4096m -Xss4096k xm-client-1.0.0.jar > /dev/null 2>&1 & ``` ## 4. 硬盘空间不足(java保存了运行日志) 解决方案: ``` nohup java -jar -Xms4096m -Xmx4096m -Xss4096k xm-client-1.0.0.jar > /dev/null 2>&1 & ``` ## 5. 请求过多,进行优化 解决方案: ``` 1. 对于预估大量请求,通过ngnix awk命令去分析,进行削峰处理,进行负载均衡 2. 可以把业务服务器数据库和日志服务器数据库拆分,进行分流 ```