• alduinwf

    (@alduinwf)


    Hello,

    I was rolling out ElasticPress to a lot of sites I am administrating and one step was to create the index.

    And I noticed something odd. I have a really really big and heavy site (100k posts). It finished indexing after like an hour.

    And I have a somewhat big site (40k posts), and it takes 12 hours to build the index.

    I think I was able to pin it down to WP Appbox. Because I also have a really small site (250 posts) which I initially forgot; and it used both an old (2012-era) App Store plugin and WP Appbox. The old plugin was throwing errors like crazy, so I disabled it and mapped its shortcodes to WP Appbox. But these 250 posts (and 765 objects, including revisions for ElasticPress) took 15 Minutes to index.

    When I disabled the plugin and tried the same again, it was 4 seconds.

    What I suspect is that WP Appbox is refreshing the cache for the apps while ElasticPress is accessing (and rendering) the posts. And there are several sleep functions in the code. So I guess that’s where the delay comes from.

    Could we maybe rely on the cache when accessed at least by WP-CLI and skip all the refresh and waiting? That would help quite a lot for maintenance jobs that need to render the posts outside the web.

    Thank you!

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Author Marcelismus

    (@marcelismus)

    Yes, performance could suffer with very large pages and too many boxes (I would suggest max. 1-3 boxes per post). However, there will be no more major structural changes to the plugin. The changes you mentioned would take too much time to implement (and are hardly possible in the current structure without changing large parts of it).

    • This reply was modified 3 weeks, 6 days ago by Marcelismus.
    • This reply was modified 3 weeks, 6 days ago by Marcelismus.
    Thread Starter alduinwf

    (@alduinwf)

    Hi,

    thanks for your response. Would it help if I were to enable cache via cronjob (in Cache tab in the settings)? Would it cache async then, i.e. only when the cron runs? That would fix my problem entirely.

    And if so, I’d propose making this the default option instead of “refresh on page visit”.

    🙂

Viewing 2 replies - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.