Laravel 应用程序占用内存太高, 哪些方法可以优化?

发布于 2022-09-04 22:52:54 字数 1990 浏览 16 评论 0

当前情况

  • 阿里云ECS 4核、8G

  • 运行服务

    • Laravel5.3.*

    • Supervisor 共计10个进程

    • Node

    • Nginx

    • PHP 7.0.17

  • top 按照内存排序情况

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 3476 root      20   0 2447420  71484   6932 S   0.7  0.9 305:46.31 /usr/local/cloudmonitor/jre/bin/java -Djava.compiler=none -XX:-UseGCOverheadLimit -XX:Ne+
 3500 root      20   0  422332  34260  10892 S   0.0  0.4   2:43.70 /usr/bin/php /mnt/www/public.weipeiapp.com/artisan queue:work --queue=default --sleep=3 +
13010 chenghu+  20   0 1180928  29588  11504 S   0.3  0.4  17:39.77 node /home/chenghuiyong/.nvm/versions/node/v7.9.0/lib/node_modules/gitlabhook/gitlabhook+
29643 php-fpm   20   0  424972  29184   8144 S   0.0  0.4   9:10.31 php-fpm: pool www
29678 php-fpm   20   0  424876  29096   8132 S   0.0  0.4   9:11.66 php-fpm: pool www
29644 php-fpm   20   0  424976  28896   7852 S   0.0  0.4   9:10.82 php-fpm: pool www
29646 php-fpm   20   0  423032  28556   7520 S   0.0  0.4   9:10.09 php-fpm: pool www
30301 php-fpm   20   0  422852  28544   7572 S   0.0  0.4   9:10.07 php-fpm: pool www
29647 php-fpm   20   0  422920  28496   7528 S   0.0  0.4   9:10.51 php-fpm: pool www
29923 php-fpm   20   0  423004  28496   7508 S   0.0  0.4   7:45.81 php-fpm: pool www
 5958 php-fpm   20   0  422876  28412   7528 S   0.0  0.4   8:57.88 php-fpm: pool www
 9789 php-fpm   20   0  422872  28408   7516 S   0.0  0.4   8:42.10 php-fpm: pool www
29645 php-fpm   20   0  422772  28348   7512 S   0.0  0.4   9:12.34 php-fpm: pool www
13545 php-fpm   20   0  422628  28060   7464 S   0.0  0.4   3:59.57 php-fpm: pool www
 3545 root      20   0  335424  27788   8404 S   0.0  0.3   3:00.95 /usr/bin/php /mnt/www/wuliu-3.weipeiapp.com/artisan queue:work redis --q

阿里云监控报告服务器已经占满86%内存

请教大家,该如何一步一步跟踪并优化相关代码减少内存开销啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

好久不见√ 2022-09-11 22:52:54

Linux系统内存监控全面讲解:free命令

我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在Linux系统中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。

所以 空闲内存=free+buffers+cached=total-used

笔落惊风雨 2022-09-11 22:52:54

laravel的源码你就别优化了...

从自己业务逻辑代码开始找问题吧,比如数据库数据获取的时候是否一次性获取大量条目。

没有一定之规,建议你用xdebug,开启profiling dump输出一些性能调试文件,然后看一下分析结果。

直接用phpstorm就能打开 .out文件

年华零落成诗 2022-09-11 22:52:54

我个人觉得并不是laravel导致的问题,如果laravel的问题,根本不可能这么流行,但是laravel包括lumen的确不是最优的框架。我个人觉得首先看php-fpm执行慢的操作,或者增加对业务代码的监控来排查一下,使用探针。首先要定位问题吧,我觉得。

束缚m 2022-09-11 22:52:54

内存占用太高,是业务程序导致的么?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文