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 = 30net.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 )

  

转载于:https://www.cnblogs.com/cj8988/p/9606508.html

php性能优化 --- laravel 性能优化相关推荐

  1. [转]优化Flash性能

    原文:http://www.adobe.com/devnet/flash/articles/optimizing-flash-performance.html 翻译:http://bbs.9ria.c ...

  2. es分布式搜索引擎在几十亿数据量级的场景下如何优化查询性能

    (1) 性能优化杀手锏--filesystem cache os cache,操作系统的缓存 你往es里写的数据,实际上都写到了磁盘文件里面去了,磁盘文件里面的数据操作系统会自动将里面的数据缓存到os ...

  3. rust python扩展_Rust语言优化Python性能案例

    原标题:Rust语言优化Python性能案例 导读:Python 被很多互联网系统广泛使用,但在另外一方面,它也存在一些性能问题,不过 Sentry 工程师分享的在关键模块上用另外一门语言 Rust ...

  4. iOS 使用Instruments优化内存性能

    iOS 使用Instruments优化内存性能 问题 项目中使用到图片合成视频,发现内存增长十分的迅速,导致一些因为内存引起的问题,本文使用这个案例,结合Instruments工具检测和分析问题,最终 ...

  5. Android性能优化之启动优化实战篇,积累总结

    目录 (1)必备Java基础 (2)设计思想解读开源框架 (3)360°全方位性能优化 (4)Android框架体系架构 (5)NDK模块开发 (6)Flutter学习进阶 (7)微信小程序开发 一. ...

  6. 前端动画优化及性能检测

    前端动画优化及性能检测工具使用 前端使用动画可以分为两类: css 动画 js 动画 我们提倡能够使用 css 完成的动画尽量使用 css ( 即使用 animation 和 keyframes ). ...

  7. 优化程序性能的策略汇总

    写程序需要顾及两个方面:1.程序的简洁性和可维护性.2.程序的运行速度.很多时候这两者是互相制约的,编写可读性良好的代码有时会损失一部分性能,而有些底层优化是以降低程序的可读性和模块性为代价的.实际开 ...

  8. Navicat使用教程:使用Navicat Query Analyzer优化查询性能(第1部分)

    2019独角兽企业重金招聘Python工程师标准>>> 下载Navicat Monitor最新版本 Navicat Monitor 是一套安全.简单而且无代理的远程服务器监控工具.它 ...

  9. 【Android 性能优化】布局渲染优化 ( CPU 渲染优化 | 减少布局的嵌套 | 测量布局绘制时间 | OnFrameMetricsAvailableListener | 布局渲染优化总结 )

    文章目录 一. 减少布局嵌套 二. 布局渲染时间测量 1. FrameMetrics 使用流程 2. FrameMetrics 参数解析 3. FrameMetrics 代码示例 三. 布局渲染优化总 ...

最新文章

  1. Git 简介1-常用术语
  2. 汇编试验十五:安装新的int 9中断例程
  3. 在线视频解决方案供应商
  4. 最新县及县以上行政区划代码(截止2010年12月31日)
  5. Ways to 优化JAVA程序设计和编码,提高JAVA性能
  6. 面试和学习必备--Java多线程
  7. 数据中心空调施工工序工艺管理要点
  8. STM32开发 -- 4G模块开发详解(1)
  9. verilog驱动ADC0809包括仿真测试
  10. 人才是培养的吗? (转)
  11. codeforces1435 D. Shurikens
  12. Butterknife全方位解析
  13. 查看总耗时_吉林德惠电力施工总承包资质代办
  14. dbexception.java,mysql – org.h2.jdbc.JdbcSQLException:找不到列“ID”
  15. JAVA 调用NetDraw((*^__^*) 嘻嘻……)
  16. 安装DEEP LEARNING TOOL 0.4.3 EARLY ADOPTER
  17. journalctl
  18. Ubuntu20.04 截图工具推荐
  19. 主板BIOS中的CSM是什么
  20. 完美世界CEO萧泓:年轻化战略大有可为

热门文章

  1. hdu5726-GCD-ST表+二分
  2. 只允许对最后一条记录进行修改
  3. 华硕笔记本没有无线服务器,华硕笔记本连不上无线网络怎么解决
  4. 用c语言随机获区100个整数,用rand() 函数去100 个随机的整数的有关问题
  5. html百分比代码怎么写,参考Bootstrap写的一个带百分比的进度条(附源码)
  6. maya材质sheen_maya怎样做耐磨金属质感?
  7. mysql优化插入速度的方法_优化MySQL插入方法的五个妙招
  8. 计算机WIN7动态硬盘分区,win7硬盘分区教程
  9. python函数模块_06.Python函数和模块
  10. 未来社区及其趋势探索