1、laravel官方提供了一些优化(laravel 5.* 版本):

(1)、关闭debug,修改 .env 的  APP_DEBUG=false

    (2)、  sudo php artisan route:cache       路由缓存   (清理路由缓存   sudo php artisan route:clear)

  (3)、sudo php artisan config:cache      配置缓存     (清理配置缓存   sudo php artisan config:clear)

  (4)、sudo php artisan optimize        Laravel优化命令,类映射加载优化   (清理缓存   sudo php artisan clear-compiled)

    (5)、sudo sudo composer dump-autoload --optimize      composer优化

***注***:想要laravel更快,可以使用swoole加速laravel。相关链接:https://www.cnblogs.com/cj8988/p/9506606.html

2、内核限制数修改

ulimit -n    默认是1024,修改大些

sudo vim /etc/security/limits.conf 

添加两行

* soft nofile 655360
* hard nofile 655360

  

3、客户端链接信息

当前链接数      netstat -nat|grep ESTABLISHED|wc -l

服务器处理任务信息     netstat -n | awk '/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]}'

查看客户端IP链接数     netstat -nat|grep "tcp"|awk ' {print$5}'|awk -F : '{print$1}'|sort|uniq -c|sort -rn

解决大量 Time_Wait问题

修改配置文件
sudo vim /etc/sysctl.conf 添加 net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30 net.ipv4.ip_local_port_range = 10240 60999
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000 然后 sudo /sbin/sysctl -p 让参数生效。

  *** 参数解释 ***

net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;

net.ipv4.tcp_tw_reuse = 1    表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;

net.ipv4.tcp_fin_timeout=30    修改系統默认的 TIMEOUT 时间。

net.ipv4.tcp_keepalive_time = 1200
#表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。 net.ipv4.ip_local_port_range = 1024 65000
#表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。 net.ipv4.tcp_max_syn_backlog = 8192
#表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。 net.ipv4.tcp_max_tw_buckets = 5000
#表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。
默认为180000,改为5000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于 Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。

  

4、php开启opcache (php7.1)

修改配置
sudo vim /etc/php/7.1/fpm/php.ini
找到 [opcache]
修改如下 [opcache]
; 开关打开
opcache.enable=1 ; 开启CLI
opcache.enable_cli=1 ; 可用内存, 酌情而定, 单位为:Mb
opcache.memory_consumption=528 ; Zend Optimizer + 暂存池中字符串的占内存总量.(单位:MB)
; opcache.interned_strings_buffer=8 ; 对多缓存文件限制, 命中率不到 100% 的话, 可以试着提高这个值
opcache.max_accelerated_files=10000 ; Opcache 会在一定时间内去检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, 定位为秒
opcache.revalidate_freq=1 (生产环境,代码不变可以关闭 0) opcache.validate_timestamps=60 //多少秒更新一下php文件 (生产环境,代码不变可以关闭 0) ; 打开快速关闭, 打开这个在PHP Request Shutdown的时候回收内存的速度会提高
opcache.fast_shutdown=1

***注***  : 当 opcache.revalidate_freq 和 opcache.validate_timestamps 设置为0时,修改代码必须重新启动php-fpm才能使新代码生效。(使用命令  sudo service php7.1-fpm reload )

  

最新文章

  1. IE兼容方法
  2. java.lang.NumberFormatException: For input string: "1608020001 " 错误
  3. 常用js字符串方法学习总结
  4. AC日记——单词替换 1.7 21
  5. 第二章平稳时间序列模型——AR(p),MA(q),ARMA(p,q)模型及其平稳性
  6. php CI ip限制
  7. net中的编译
  8. python多线程ctrl-c退出问题
  9. 聊聊js运算符 ‘与(&&)’和‘ 或(||)’
  10. Qt自定义控件(插件)并添加到QtDesigher
  11. Linux nohup命令详解
  12. 【Xamarin挖墙脚系列:关闭 OS X El Capitan 中 SIP 安全设置功能】
  13. MySql学习笔记(五) —— 存储过程
  14. Who do you want to be bad? (谁会是坏人?)人工智能机器小爱的问话
  15. 我的Windows日常——炫酷的windows组件命令行打开方式
  16. Palindromic Numbers LightOJ - 1205
  17. 【Java】 剑指offer(18) 删除链表中重复的结点
  18. C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作,无法为请求的 Configuration 对象创建配置文件。
  19. XSS 攻击的防御
  20. Webkit内核探究【1】——Webkit简介

热门文章

  1. html 01前沿-web介绍
  2. 零基础逆向工程36_Win32_10_互斥体_互斥体与临界区的区别
  3. Dynamics CRM 2011通过客户端代码选择视图
  4. 【起航计划 014】2015 起航计划 Android APIDemo的魔鬼步伐 13 App->Activity->Translucent 半透明Activity Theme.Translucent
  5. 51nod 1366 贫富差距
  6. Html : 点击按钮弹出输入框,再次点击进行隐藏
  7. leetcode: 树
  8. Firefox浏览器 页面滑动卡帧问题
  9. Open XML的上传、下载 、删除 ......文件路径
  10. Android(java)学习笔记59:类继承的 注意事项