评论给鸡腿🍗,求助CDN节点硬盘占用暴涨!!!

gdgame 2026-06-15 21:40 1

我在一台线路鸡安装cdn面板,同时作为cdn节点转发流量。但为什么









goedge 1.39版本。是我网站源码的问题吗?源站今天发现有两万多个PHP文件缓存,但是今天中午把代码改好了,但是晚上就发现节点占用爆炸

{问题诊断:runtime/cache 累积了 226,560 个文件

根本原因(3个核心问题)



  1. 缓存默认永不过期 — config/cache.php 第24行:


php

'expire' => 0, // 0表示永久缓存!

这是最致命的配置。所有没有显式设置 TTL 的缓存调用,缓存文件永远不会自动删除。



  1. Pagehits 点击量缓存设为永久 — app/home/controller/Pagehits.php 第24行:


php

Cache::set($cacheKey, $hits, 0); // 第3个参数 0 = 永久缓存!

每个被访问过的页面都会生成一个永不过期的缓存文件。网站有大量游戏页面,每被访问一次就永久产生一个缓存文件,即使该页面以后再无人访问,文件也不会被清理。



  1. ThinkPHP File 缓存驱动没有垃圾回收机制 ThinkPHP 的文件缓存只在读取时检查过期——如果缓存键被再次读取且已过期,才会删除。但大量缓存键过期后再也没被读取过,文件就永久残留。再加上 ->cache(300) 查询缓存(在 taglib/Rg.php 中大量使用),虽然设了 300 秒 TTL,但过期后无人再访问的那些文件也不会被清除。}


源码问题应该不会影响cdn节点吧?

最新回复 (11)
  • velezkirsten 06-15 21:40
    1

    ^-^ 问ai吧

  • 拼车啦 06-15 21:40
    2
    🚫
  • gdgame 楼主 06-15 21:42
    3

    @velezkirsten #1 如果我能把整个服务器文件都弄下来给AI应该还行。但现在我不知道咋弄下来,太大了

  • HOLMES 06-15 21:42
    4

    叫codex给你改改试试

  • Safari 06-15 21:44
    5

    for 🍗 bd

  • omowo 06-15 21:44
    6

    帮顶

  • feelym 06-15 21:49
    7

    你先进ssh查是哪个文件占用的。


    然后根据文件查询哪个应用。


    再锁定应用是日志还是缓存导致的。


    日志很好简单,直接关掉。


    缓存问题就问ai怎么处理这个cdn程序的配置。


    我前几天发现我的一个数据库日志爆炸,磁盘也用完了。就是这么查出来的,最后关掉日志就好了。

  • 不讲李先生 06-15 21:52
    8

    BD

  • 夜轻 06-16 01:46
    9

    @gdgame #3 直接服务器上装codex opencode

  • xie666 06-16 01:54
    10

    @gdgame #0 bd

  • 寒鸢 06-16 02:05
    11

    @gdgame #0

    建议先看下到底哪个目录在吃盘。


    GoEdge 缓存目录是 /opt/cache,你图里上限 5GiB。这个目录正常不会把 50G 盘吃到 46G。


    runtime/cache 有 22 万多个文件,问题更像出在源站程序缓存。这个目录跟 GoEdge 的 /opt/cache 不一样。只是你都放在同一台鸡上,最后一起占根分区。


    先跑这个看下结果:



    du -sh /opt/cache

    du -sh runtime/cache

    df -h

    df -ih


    /opt/cache 大,清 GoEdge 缓存,再检查缓存规则。


    runtime/cache 大,改源码缓存。别设永久缓存,小文件太多还要看 inode。


    我个人更倾向于源站缓存堆爆了,不是 CDN 节点缓存爆了。

* 帖子来源NodeSeek
返回