使用MYSQL数据库,初始化了1500偏文章Post,分20多个Category,每个Category作为一个Menu。
本地电脑点击一个连接要6,7秒钟。
电脑配置:
CPU: i7-11700K @ 3.60GHz
内存:32 G
发现Post内容很多(1500)情况下,整个网站速度都很慢。

    2.X版本的数据库查询这块估计撑不了1千偏以上的文章查询性能吧? 我看无论查任何内容,都是先根据模糊查询把全表数据查出来后再过滤。
    Earth主题中,theamleaf模板聚合一个页面结果好查询好几次数据库。每次都是全表模糊查询,然后内存中做分页。
    这样性能应该很慢吧???

    Ryan Wang 👍
    感觉1500篇文章all in one查询数据库应该不慢,但是把这些数据查出来后在内存中做筛选可能比较慢。
    因为我本地用mysql工具直接查询extensions表也没有太慢。

      Ryan Wang 👍
      意思是【系统运行缓慢仅在运行 reconcile 的时候会发生,reconcile 运行完成之后正常。】?
      如果这样的话,可以接受。

      Ryan Wang 👍
      因为我在用halo做个导航类网站,要预制很多导航类站点数据。
      wordpress有了解过,但对wordpress及其php语言不太熟悉。

        ykhasia 目前的主要瓶颈在于启动时的 Reconcile 操作(可以理解为在进行数据修正)。在 Reconile 完成之后其实就会好很多,在上面的 issue 也有提到。

        后续的优化可能会先实现索引。

        cc @johnniang

          Ryan Wang 👍

          感谢指导🙏 反正生产环境网站有CDN加速,可以先预热请求URL。

          ykhasia 这种场景应该不会有太多的逻辑,如果不需要 Reconile 的话,不会有影响。

          你可以观察到,目前启动后基本只有查询文章的时候慢,其他数据是没有太大影响的,因为文章的处理逻辑过多。

            Ryan Wang 👍

            我本地环境的博客界面无论点击哪个链接都很慢,管理台页面倒是不慢。
            日志中一直在输出这些日志,是在做Reconile 吗?
            2023-05-03T19:32:16.990+08:00 DEBUG 17784 --- [yReconciler-t-1] r.h.a.e.controller.DefaultController : run.halo.app.core.extension.reconciler.CategoryReconciler-worker-1 >>> Reconciled request: Request[name=category-Chatbots] with result: Result[reEnqueue=true, retryAfter=PT1M], usage: 2278
            2023-05-03T19:32:16.990+08:00 DEBUG 17784 --- [yReconciler-t-1] r.h.a.extension.controller.DefaultQueue : Adding request Request[name=category-Chatbots] after PT1M
            2023-05-03T19:32:16.990+08:00 DEBUG 17784 --- [yReconciler-t-1] r.h.a.extension.controller.DefaultQueue : Added request Request[name=category-Chatbots] after PT1M
            2023-05-03T19:32:16.990+08:00 DEBUG 17784 --- [yReconciler-t-1] r.h.a.extension.controller.DefaultQueue : Take request Request[name=category-AudioToAudio] at 2023-05-03T11:32:16.990235Z
            2023-05-03T19:32:16.990+08:00 DEBUG 17784 --- [yReconciler-t-1] r.h.a.e.controller.DefaultController : run.halo.app.core.extension.reconciler.CategoryReconciler-worker-1 >>> Reconciling request Request[name=category-AudioToAudio] at 2023-05-03T11:32:16.990235Z
            2023-05-03T19:32:19.289+08:00 DEBUG 17784 --- [yReconciler-t-1] r.h.a.e.controller.DefaultController : run.halo.app.core.extension.reconciler.CategoryReconciler-worker-1 >>>

              Ryan Wang 👍
              用这个插件有以下几个疑问
              1,我预制1500条链接,是否也会造成访问慢?
              2,意味着我要生成1500个html网页放在主题的templates目录中?