# Kirby3 Boost - makes loading a lot of pages in one request fast + unique ID

**URL:** <https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580>\
**Category:** Plugins\
**Tags:** v3\
**Created:** [October 1, 2021, 6:25pm UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580 "2021-10-01T18:25:18Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![bnomei](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/bnomei/32/775_2.png) [@bnomei](https://forum.getkirby.com/u/bnomei)\
**Post date:** [October 1, 2021, 6:25pm UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/1 "2021-10-01T18:25:18Z")

</div>

> I am creating posts for [my plugins](https://getkirby.com/plugins/bnomei) to make it easier to find them using the forum search and not just the docs search.

Boost the speed of Kirby by having content files of pages cached, with automatic unique ID, fast lookup and Tiny-URL.

- up to 3x faster content loading
- fastest page lookup and resolution of relations

## Usecase

If you have to process within a single request a lot of page objects (1000+) or if you have a lot of relations between page objects to resolve then consider using this plugin. With less page objects you will propably not gain enough to justify the overhead.

## How does this plugin work?

- It caches all content files and keeps the cache up to date when you add or modify content. This cache will be used when constructing page objects making everything that involves page objects faster (even the Panel).
- It provides a benchmark to help you decide which cachedriver to use.
- It can add an unique ID for page objects that can be used create relations that do not break even if the slug or directory of a page object changes.
- It provides a very fast lookup for page objects via id, diruri or the unique id.
- It provides you with a tiny-url for page objects that have an unique id.

> **[GitHub - bnomei/kirby3-boost: Boost the speed of Kirby by having content files...](https://github.com/bnomei/kirby3-boost)**
>
> Boost the speed of Kirby by having content files of pages cached and a fast lookup based on uuids

**site/blueprints/pages/default.yml**

```yml
preset: page

fields:
  # visible field
  boostid:
    type: boostid
  
  # hidden field
  #boostid:
  # extends: fields/boostid

  one_relation:
    extends: fields/boostidpage

  many_related:
    extends: fields/boostidpages

```

**site/models/default.php**

```php
class DefaultPage extends \Kirby\Cms\Page
{
    use \Bnomei\PageHasBoost;
}

// or

class DefaultPage extends \Bnomei\BoostPage
{
    
}

```

**PHP**

```php
// page lookup
$page = page($somePageId); // slower
$page = boost($somePageId); // faster
$page = boost($somePageDirUri); // fastest
$page = boost($boostId); // will use fastest internally

// resolving one relation
$pageOrNull = $page->one_relation()->fromBoostID();

// resolving many relations
$pagesCollectionOrNull = $page->many_related()->fromBoostIDs();

```

### Cache Drivers

A cache driver is a piece of code that defines where get/set commands for the key/value store of the cache are directed to. Kirby has [built in support](https://getkirby.com/docs/reference/system/options/cache#cache-driver) for File, Apcu, Memcached and Memory. I have created additional cache drivers for [MySQL](https://github.com/bnomei/kirby3-mysql-cachedriver), [Redis](https://github.com/bnomei/kirby3-redis-cachedriver) and [SQLite](https://github.com/bnomei/kirby3-sqlite-cachedriver).

**site/config/config.php**

```php
<?php

return [
    // other options

    // example apcu
    'bnomei.boost.cache' => [
        'type' => 'apcu',
    ],
];

```

### Interactive Demo

I created an interactive demo to compare various cache drivers and prove how much your website can be boosted. It kind of ended up as a love-letter to the [KQL Plugin](https://github.com/getkirby/kql) as well. You can find the benchmark and interactive demos running on server sponsored by **Kirbyzone** here:

- [Benchmark with all Drivers](https://kirby3-boost.bnomei.com/)
- [Demo using APCu Cache Driver](https://kirby3-boost-apcu.bnomei.com/)
- [Demo using MySQL Cache Driver](https://kirby3-boost-mysql.bnomei.com/)
- [Demo using Null Cache Driver](https://kirby3-boost-null.bnomei.com/). This setup behaves like having the boost plugin NOT active at all.
- [Demo using Redis Cache Driver](https://kirby3-boost-redis.bnomei.com/)
- [Demo using SQLite Cache Driver](https://kirby3-boost-sqlite.bnomei.com/)

---

<div class="post-metadata">

**Author:** ![JonasHolfeld](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@JonasHolfeld](https://forum.getkirby.com/u/JonasHolfeld)\
**Post date:** [October 27, 2021, 1:41pm UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/2 "2021-10-27T13:41:27Z")

</div>

Hi @bnomei, thanks for another great plugin. I wanted to use the included Benchmark on a production server to decide which driver to use, but was unable to perform the test. Maybe I forgot some configs, but I couldn’t figure it out.

My php file looks like this:

```auto
<?php

$caches = [
    \Bnomei\BoostCache::sqlite(),
    \Bnomei\BoostCache::redis(),
    \Bnomei\BoostCache::memcached()
];

$results = \Bnomei\CacheBenchmark::run($caches, 1, site()->index()->count());
print_r($results['results']);

```

But it returns an empty array.

My models/default.php like this:

```auto
<?php
class DefaultPage extends \Kirby\Cms\Page
{
    use \Bnomei\PageHasBoost;
}

```

Do i need pages with the boostid-field for the benchmark test?

---

<div class="post-metadata">

**Author:** ![bnomei](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/bnomei/32/775_2.png) [@bnomei](https://forum.getkirby.com/u/bnomei)\
**Post date:** [October 27, 2021, 2:08pm UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/3 "2021-10-27T14:08:16Z")

</div>

you do not need real pages to run the **CacheBenchmark**. but that is only a quick way to compare some caches. like the readme says you should verify real performance lateron using the `boostmark()` pages method as well. for example on my demo server the redis driver ranks 4th place in the generic benchmark but 2nd place when using the boostmark with real page objects.

the only situation for the array to come up emtpy would be that the drivers are not available as far as i can tell right now. so maybe var\_dump the $caches array and see if there are objects in there or just `null` values.

---

<div class="post-metadata">

**Author:** ![JonasHolfeld](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@JonasHolfeld](https://forum.getkirby.com/u/JonasHolfeld)\
**Post date:** [October 29, 2021, 9:40am UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/4 "2021-10-29T09:40:18Z")

</div>

ah yeah, i hadn’t configured the caches correctly. thanks for the hint.

unfortunately, i am unable to activate APCu and Memcached on the production server due to limitations (it’s a managed server). will there be support for the OPcache with the boost plugin? that would be great.

---

<div class="post-metadata">

**Author:** ![bnomei](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/bnomei/32/775_2.png) [@bnomei](https://forum.getkirby.com/u/bnomei)\
**Post date:** [October 31, 2021, 10:37pm UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/5 "2021-10-31T22:37:46Z")

</div>

afaik opache does not have a user cache. it just caches the compiled php files.  
but my [sqlite driver](https://github.com/bnomei/kirby3-sqlite-cachedriver) is a pretty fast solution if you have sqlite3 support.

---

<div class="post-metadata">

**Author:** ![JonasHolfeld](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@JonasHolfeld](https://forum.getkirby.com/u/JonasHolfeld)\
**Post date:** [November 1, 2021, 9:15am UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/6 "2021-11-01T09:15:26Z")

</div>

yes, sqlite does work. thanks for your help!

---

<div class="post-metadata">

**Author:** ![JonasHolfeld](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@JonasHolfeld](https://forum.getkirby.com/u/JonasHolfeld)\
**Post date:** [November 5, 2021, 9:11am UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/7 "2021-11-05T09:11:34Z")

</div>

Hi again 🙂

A few days later, i wanted to setup everything using the SQL-Lite server, but i get this Error:

```auto
Fatal error: Uncaught Error: The SQLite3 object has not been correctly initialised or is already
 closed in .../site/plugins/kirby3-sqlite-
cachedriver/classes/SQLiteCache.php:175 Stack trace: #0
.../site/plugins/kirby3-sqlite-cachedriver/classes/SQLiteCache.php(175): SQLite3Stmt-
>bindValue(':id', '...',
 3) #1 ...//site/plugins/kirby3-sqlite-cachedriver/classes/SQLiteCache.php(107): 
Bnomei\SQLiteCache->remove(...')
 #2 .../site/plugins/kirby3-sqlite-cachedriver/classes/SQLiteCache.php(102): Bnomei\SQLiteCache->removeAndSet('index', Array, 0) 
#3 /.../site/plugins/kirby3-boost/classes/BoostIndex.php(54): Bnomei\SQLiteCache->set('index', Array, 0) 
#4 /.../site/plugins/kirby3-boost/classes/BoostIndex.php(37): Bnomei\BoostIndex->write() #5 [internal function]: 
Bnomei\BoostIndex->__destruct() #6 {main} thrown in 
/.../site/plugins/kirby3-sqlite-cachedriver/classes/SQLiteCache.php on line 175

```

When running

```auto
site()->boost();

```

or

```auto
var_dump(site()->boostmark());

```

Do i need to initialize the SQLite Cachedriver plugin somehow?

Thank you!

---

<div class="post-metadata">

**Author:** ![bnomei](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/bnomei/32/775_2.png) [@bnomei](https://forum.getkirby.com/u/bnomei)\
**Post date:** [November 8, 2021, 8:51pm UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/8 "2021-11-08T20:51:51Z")

</div>

i created an issue [SQLite3 object has not been correctly initialised or is already closed · Issue #1 · bnomei/kirby3-sqlite-cachedriver · GitHub](https://github.com/bnomei/kirby3-sqlite-cachedriver/issues/1)  
lets continue discussing the sqlite driver issue there.

---

<div class="post-metadata">

**Author:** ![JonasHolfeld](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@JonasHolfeld](https://forum.getkirby.com/u/JonasHolfeld)\
**Post date:** [November 15, 2021, 10:33am UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/9 "2021-11-15T10:33:30Z")

</div>

Thanks for the fix!

One more question: does the Boost-plugin also speed up the Kirby query-language inside a blueprint? Like when used for my [many-to-many plugin](https://github.com/jonasholfeld/kirby3-many-to-many-field):

```auto
foreignkey:
        label: Project
        type: multiselect
        min: 1
        max: 1
        options: query
        query:
          fetch: site.find('projects').childrenAndDrafts
          text: "{{ page.title }}" #<-- will this be quicker with boost?
          value: "{{ page.boostid }}"

```

Will this speed up the fetching of the titles?

Thanks 🙂

---

<div class="post-metadata">

**Author:** ![bnomei](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/bnomei/32/775_2.png) [@bnomei](https://forum.getkirby.com/u/bnomei)\
**Post date:** [November 15, 2021, 10:50am UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/10 "2021-11-15T10:50:08Z")

</div>

yes. once you have a page boosted accessing any content field will be faster since the initial load was made from cache.  
in your example the title will be loaded the same time as the boostid. but that load will be from cache and thus faster than from disk.

it does not however reduce computational load like from using site-\>find or site-\>index. you would need to create a **statically** cached collection/sitemethod for these. static because it might be called by kirby more than once in a single request. i will publish a short example later.

---

<div class="post-metadata">

**Author:** ![bnomei](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/bnomei/32/775_2.png) [@bnomei](https://forum.getkirby.com/u/bnomei)\
**Post date:** [November 15, 2021, 10:55am UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/11 "2021-11-15T10:55:17Z")

</div>

with boost its quiet easy to measure/see the performance gain. just toggle the debug mode. boost will always write to the cache but only load in non-debug mode.

---

<div class="post-metadata">

**Author:** ![JonasHolfeld](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@JonasHolfeld](https://forum.getkirby.com/u/JonasHolfeld)\
**Post date:** [November 15, 2021, 11:31am UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/12 "2021-11-15T11:31:33Z")

</div>

Thanks, thats very helpful. I will make a new release of my plugin using boost then soon.

---

<div class="post-metadata">

**Author:** ![bnomei](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/bnomei/32/775_2.png) [@bnomei](https://forum.getkirby.com/u/bnomei)\
**Post date:** [November 15, 2021, 1:26pm UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/13 "2021-11-15T13:26:40Z")

</div>

i explained a bit how to create static cached collections here:

> [@Remember this - Caching in Kirby](https://forum.getkirby.com/t/remember-this-caching-in-kirby/23705/4):
>
> How to make blueprints with query in multiselect option with fetch faster? The problem with fetch Lets imagine articles where we want to reference related articles by their autoid or boostid. site/blueprints/pages/article.yml # other fields ... category: label: Related articles type: multiselect options: query query: fetch: site.find('articles').childrenAndDrafts text: "{{ page.title }}" # boosted value: "{{ page.boostid }}" # boosted In your frontend you do something…

---

<div class="post-metadata">

**Author:** ![bnomei](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/bnomei/32/775_2.png) [@bnomei](https://forum.getkirby.com/u/bnomei)\
**Post date:** [December 11, 2021, 11:03pm UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/14 "2021-12-11T23:03:48Z")

</div>

New version 1.8.0 adds a site index crawler with lower memory footprint than core kirby. This makes it possible to run a callback on a huge amount of pages.

Using site()-\>index() in Kirby will load all Pages into memory at the same time. This plugin provides a way to iterate over the index with having only one page loaded at a time.

```php
$boostedCount = 0;
$indexCount = \Bnomei\Bolt::index(function ($page) use (&$boostedCount) {
    // do something with that $page like...
    $boostedCount += $page->boost() ? 1 : 0;
});
// or just
$boostedCount = site()->boost();

```

Within some limitations you could use `\Bnomei\Bolt::index($callback)` for your own code as well like when counting or updating pages.

---

<div class="post-metadata">

**Author:** ![bnomei](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/bnomei/32/775_2.png) [@bnomei](https://forum.getkirby.com/u/bnomei)\
**Post date:** [July 10, 2022, 11:08am UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/15 "2022-07-10T11:08:09Z")

</div>

The new version 1.9.0 add support for content caching of files and users. So if you have to read the content files of many of them then do consider using the Boost plugin to speed up the load time up to 3-4x times.

---

<div class="post-metadata">

**Author:** ![bnomei](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/bnomei/32/775_2.png) [@bnomei](https://forum.getkirby.com/u/bnomei)\
**Post date:** [December 11, 2022, 8:44pm UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/16 "2022-12-11T20:44:48Z")

</div>

I update my boost plugin demo server to most recent version of kirby and kql. also moved it to a “slow” 5 euro/month hetzner instance to better show how much the plugins speeds up content loading.

the main demo page shows a general read/write benchmark for caches but that needs to be taken with a grain of salt since when using them with boost there are lots of initial writes (using transactions to batch them) when indexing and later on there are just a massive amount of read calls. some caches like sqlite and redis really excel at read speeds.  
[https://kirby3-boost.bnomei.com/](https://kirby3-boost.bnomei.com/)

the subdomains each show a cache driver like apcu, redis, sqlite, mysql and php. the null cache driver is kind of special and at the same time not… it simply is running no cache at all. use this to compare how much faster things get using boost and a cache driver.

**read 5500 pages in one request** =\> earthlings  
apcu: 1300ms  
sqlite: 1500ms  
redis: 1700ms  
php: 2500ms (that loads all 38k pages of the demo since its a mono cache file)  
mysql: 3300ms  
null: 18.000ms

kirby actually has to load more than 5500 with all parent pages in the tree.

**read 20.000 pages in one request** =\> karma of humans  
apcu: 14.000ms  
sqlite: 14.000ms  
redis: 17.000ms  
php: 22.000ms (not sure why thats slow actually, will check it out, should be around 14-17sec)  
mysql: \> 30.000ms (thats 20k or more queries, no optimization yet)  
null: 22.000ms

with lots of pages the performed computations of the demo take up a major part of the response time. the null driver performs well enough here but thats partly due to boost resolving the page uuids to page objects and not the core logic (see `toPagesBoosted`).

summary: as long as the read speed of your cache is faster than reading from files you gain some performance boost.

---

<div class="post-metadata">

**Author:** ![carstengrimm](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/carstengrimm/32/188_2.png) [@carstengrimm](https://forum.getkirby.com/u/carstengrimm)\
**Post date:** [September 22, 2023, 8:26am UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/17 "2023-09-22T08:26:21Z")

</div>

quick question:

lets say i have product pages which update their price every 30 minutes (e.g. page-\>price())

the cart itself collects the uuid and qty to calculate the cart array/session with the latest price

in the calculation if i were to use boost, it seems as though also the price is being cached. might that be the case? i thought boost is mostly speeding up the page lookup but not the contents?

because in my local demo i could see the prices do not add up and a certain price seems to be stuck/cached even after a price update.

within kirby’s methods for caching (tried apcu and sqlite) i make sure to output everything via post requests which should somewhat avoid caching - the same for disabling cache. if i were to remove boost from the calculation functions, it seems to calculate just fine again.

```auto
 // EXAMPLE
function cartTotal(){
    $total = 0;
    $cart = getCartSession();
    if(!is_array($cart)) return $total;
    foreach($cart as $item){
        if($page = page('page://'.$item['uuid'])){ // here using boost($item['uuid'])
            $total += $page->price()->value() * $item['qty']; 
        }
    }
    return ($total);
}

```

Edit:  
Seems from the first post, it caches the content as well.  
To explain further,

There’s a price countdown which updates the page()-\>price() every half an hour. The update itself obviously seems to work, but it doesn’t seem to flush boost cached / or update boost content of each certain page

adding page()-\>boost() after the actual price update, does not seem to make it work in the calculations…

---

<div class="post-metadata">

**Author:** ![bnomei](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/bnomei/32/775_2.png) [@bnomei](https://forum.getkirby.com/u/bnomei)\
**Post date:** [September 22, 2023, 11:24am UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/18 "2023-09-22T11:24:41Z")

</div>

> [@carstengrimm](#):
>
> I thought boost is mostly speeding up the page lookup but not the contents?

boost is about content caching first and also resolving relations between pages. it kind of was a successor to autoid until the uuids became core.  
see readme:

```auto
Kirby3 Boost
⏱️ up to 3x faster content loading
🎣 fastest page lookup and resolution of relations

```

what boost does is taking the modified timestamp of the page into consideration and maybe load the content from a cache.  
it will write on any content change. so calling `page->update()` to save the new price should force boost to write a new cache for that models content as well.

> <https://github.com/bnomei/kirby3-boost/blob/76c51b5e2c82f0800a3b7efefa610ed25da27092/classes/ModelHasBoost.php#L131>

it should not make any difference if you use the page or boost helper in your example on what content gets loaded. the boost helper just resolves the object in a different way. it does not alter how it gets loaded. the later is based on the model (extending the ModelHasBoost trait).

you can check if the ModelHasBoost is the issue by setting the config values to false. `'bnomei.boost.read' => false` and `'bnomei.boost.write' => false`

is the `cartTotal` function within a cached call - not related to boost?

i assume you are using k4? its a bit hard to debug this wihtout seeing the whole setup. you can invite me via github or PM me some more code? I will sign a NDA if you need one.

---

<div class="post-metadata">

**Author:** ![carstengrimm](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/carstengrimm/32/188_2.png) [@carstengrimm](https://forum.getkirby.com/u/carstengrimm)\
**Post date:** [September 22, 2023, 1:24pm UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/19 "2023-09-22T13:24:05Z")

</div>

- kirby 3, latest
- the cartTotal function is within the plugin index

Basically using fetch JavaScript API, i’m pulling /cart.json via a route, which outputs html (via snippet) which will be loaded from the fetch and added to the cart div with innerHTML…

the cart contents are output correctly, e.g. going though the array, correct qty, but the prices seem not always be uptodate with what’s saved in the page (if i check via panel)

The fetch request includes no-store  
The route shouldn’t be caching as it’s including a session (kirby docs), i have also changed to get the cart.json via post

That’s whats saved in the product-page:  
 ![price](https://europe1.discourse-cdn.com/flex017/uploads/getkirby/original/2X/0/0c7865ff0637f5693eedbc235a341fa884c832ac.jpeg)

That’s what’s loaded via fetch\>route\>snippet which uses the cartTotal function  
 ![cart](https://europe1.discourse-cdn.com/flex017/uploads/getkirby/original/2X/c/c079fa4952e15004c663b758672b000934bfd0fe.jpeg)

---

<div class="post-metadata">

**Author:** ![carstengrimm](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/carstengrimm/32/188_2.png) [@carstengrimm](https://forum.getkirby.com/u/carstengrimm)\
**Post date:** [September 22, 2023, 1:36pm UTC](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580/20 "2023-09-22T13:36:36Z")

</div>

> [@bnomei](#):
>
> `'bnomei.boost.read' => false` and `'bnomei.boost.write' => false`

boost read/write “ **true** ” (default)  
 ![on](https://europe1.discourse-cdn.com/flex017/uploads/getkirby/original/2X/c/c81689bd002895866e3c84daf98c5c355825b29c.jpeg)

boost read/write “ **false** ” via config

![off](https://europe1.discourse-cdn.com/flex017/uploads/getkirby/original/2X/c/c362d799e70d027d332e21e859a73671359224e8.jpeg)

[Next page](https://forum.getkirby.com/t/kirby3-boost-makes-loading-a-lot-of-pages-in-one-request-fast-unique-id/23580.md?page=2)
