Slow Loading Time (Avg. 2 seconds) after Deploying SvelteKit Project to Netlify

PLEASE help us help you by writing a good post!

  • we need to know your netlify site name. Example: gifted-antelope-58b104.netlify.app
  • DNS issues? Tell us the custom domain, tell us the error message! We can’t help if we don’t know your domain.
  • Build problems? Link or paste the FULL build log & build settings screenshot

The better the post - the faster the answer.

Here is my deployed website. https://capable-meerkat-135504.netlify.app/

Hello
I recently deployed a project developed with SvelteKit to Netlify. However, I’ve been experiencing significant loading times on the website, much slower than anticipated.

To be specific:

  • All actions(ex - login, logout, fetchUserList) take around 2 seconds.
  • Other features seem to consistently average around 2 seconds of loading time as well.

Could it be a configuration within my project, a setting on Netlify, or perhaps an inherent characteristic of SvelteKit’s SSR?

This is build log

6:20:38 PM: Netlify Build                                                 
6:20:38 PM: ────────────────────────────────────────────────────────────────
6:20:38 PM: ​
6:20:38 PM: ❯ Version
6:20:38 PM:   @netlify/build 29.21.1
6:20:38 PM: ​
6:20:38 PM: ❯ Flags
6:20:38 PM:   baseRelDir: true
6:20:38 PM:   buildId: 650c0acdeecbcc0008b322d3
6:20:38 PM:   deployId: 650c0acdeecbcc0008b322d5
6:20:38 PM: ​
6:20:38 PM: ❯ Current directory
6:20:38 PM:   /opt/build/repo
6:20:38 PM: ​
6:20:38 PM: ❯ Config file
6:20:38 PM:   /opt/build/repo/netlify.toml
6:20:38 PM: ​
6:20:38 PM: ❯ Context
6:20:38 PM:   production
6:20:38 PM: ​
6:20:38 PM: build.command from netlify.toml                               
6:20:38 PM: ────────────────────────────────────────────────────────────────
6:20:38 PM: ​
6:20:38 PM: $ npm run build
6:20:38 PM: > taskmanager-front@0.0.1 build
6:20:38 PM: > vite build
6:20:38 PM: ▲ [WARNING] Cannot find base config file ./.svelte-kit/tsconfig.json [tsconfig.json]
6:20:38 PM:     tsconfig.json:2:12:
6:20:38 PM:       2 │   extends: ./.svelte-kit/tsconfig.json,
6:20:38 PM:         ╵              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6:20:39 PM: vite v4.4.9 building SSR bundle for production...
6:20:39 PM: transforming...
6:20:44 PM: ✓ 841 modules transformed.
6:20:44 PM: Generated an empty chunk: entries/pages/protected/project/_project_id_/dashboard/_page.server.ts.
6:20:44 PM: rendering chunks...
6:20:45 PM: vite v4.4.9 building for production...
6:20:45 PM: transforming...
6:20:55 PM: ✓ 894 modules transformed.
6:20:55 PM: rendering chunks...
6:20:55 PM: computing gzip size...
6:20:55 PM: .svelte-kit/output/client/_app/version.json                                                          0.03 kB │ gzip:  0.05 kB
6:20:55 PM: .svelte-kit/output/client/vite-manifest.json                                                        16.23 kB │ gzip:  1.58 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/assets/Indicator.1d121e74.css                               0.03 kB │ gzip:  0.05 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/assets/6.69719a8f.css                                       0.07 kB │ gzip:  0.08 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/assets/Toaster.3a6d0da3.css                                 4.42 kB │ gzip:  1.20 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/assets/0.1acae009.css                                     122.62 kB │ gzip: 17.04 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/navigation.80d2f746.js                               0.10 kB │ gzip:  0.12 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/paths.8d33b1a1.js                                    0.17 kB │ gzip:  0.13 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/stores.346ecfb4.js                                   0.24 kB │ gzip:  0.17 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/17.d4ad3fc0.js                                        0.38 kB │ gzip:  0.31 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/19.de7319c8.js                                        0.39 kB │ gzip:  0.31 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/20.e1ff6e94.js                                        0.39 kB │ gzip:  0.31 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/12.0804b8e1.js                                        0.39 kB │ gzip:  0.32 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/resolveTabConfig.690eb934.js                         0.54 kB │ gzip:  0.33 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/4.1937d864.js                                         0.61 kB │ gzip:  0.45 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/5.212dad7d.js                                         0.74 kB │ gzip:  0.49 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/2.20470d09.js                                         1.01 kB │ gzip:  0.62 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/getUsersTableRowData.c3999985.js                     1.02 kB │ gzip:  0.60 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/1.cd61adfd.js                                         1.05 kB │ gzip:  0.65 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/parse.bee59afc.js                                    1.23 kB │ gzip:  0.58 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/8.850cb051.js                                         1.31 kB │ gzip:  0.78 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/14.93783168.js                                        1.55 kB │ gzip:  0.86 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/forms.669afabc.js                                    1.77 kB │ gzip:  0.86 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/Wrapper.61c81a24.js                                  2.08 kB │ gzip:  1.07 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/Label.8d82e739.js                                    2.25 kB │ gzip:  1.19 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/Toaster.svelte_svelte_type_style_lang.c2f22d90.js    2.46 kB │ gzip:  1.24 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/singletons.8c3eb287.js                               3.18 kB │ gzip:  1.64 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/Card.9fd95e85.js                                     3.70 kB │ gzip:  1.80 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/6.6c38833e.js                                         3.71 kB │ gzip:  1.58 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/9.b843c0ab.js                                         3.89 kB │ gzip:  1.98 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/15.bb4bc3a3.js                                        4.00 kB │ gzip:  1.96 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/Select.c339505c.js                                   4.05 kB │ gzip:  1.87 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/SearchForm.cf6ae0f6.js                               4.29 kB │ gzip:  1.99 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/3.79f2b2dc.js                                         5.07 kB │ gzip:  2.10 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/18.ade01f9b.js                                        5.11 kB │ gzip:  2.53 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/10.d293effe.js                                        5.38 kB │ gzip:  2.25 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/Input.3dd5dd8a.js                                    6.43 kB │ gzip:  2.53 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/7.c1ffd1ee.js                                         6.70 kB │ gzip:  2.89 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/Frame.75001cd3.js                                    6.84 kB │ gzip:  2.49 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/13.49b1b997.js                                        6.88 kB │ gzip:  3.45 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/Pagination.e801ab7b.js                               6.96 kB │ gzip:  2.39 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/Button.4a66d78c.js                                   7.16 kB │ gzip:  2.30 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/TableHeadCell.c475eab7.js                            8.21 kB │ gzip:  2.87 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/11.9109e3fe.js                                        9.90 kB │ gzip:  3.46 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/Badge.0b78bcbd.js                                   12.64 kB │ gzip:  4.47 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/index.fc1cd4b1.js                                   13.24 kB │ gzip:  5.49 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/16.a5101251.js                                       13.50 kB │ gzip:  4.71 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/entry/app.8c37c538.js                                      14.81 kB │ gzip:  3.28 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/tw-merge.7c38a84e.js                                20.21 kB │ gzip:  6.58 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/Table.49e1c7e9.js                                   21.09 kB │ gzip:  6.71 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/entry/start.9cd8b177.js                                    23.71 kB │ gzip:  9.36 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/nodes/0.07170b06.js                                        31.24 kB │ gzip:  9.61 kB
6:20:55 PM: .svelte-kit/output/client/_app/immutable/chunks/TabComponent.07205fcd.js                            46.42 kB │ gzip: 16.26 kB
6:20:55 PM: ✓ built in 10.29s
6:20:56 PM: .svelte-kit/output/server/vite-manifest.json                                                                                   17.39 kB
6:20:56 PM: .svelte-kit/output/server/_app/immutable/assets/Indicator.1d121e74.css                                                          0.03 kB
6:20:56 PM: .svelte-kit/output/server/_app/immutable/assets/_page.69719a8f.css                                                              0.07 kB
6:20:56 PM: .svelte-kit/output/server/_app/immutable/assets/Toaster.3a6d0da3.css                                                            4.42 kB
6:20:56 PM: .svelte-kit/output/server/_app/immutable/assets/_layout.2f08446e.css                                                          122.54 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/dashboard/_page.server.ts.js                             0.00 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/_layout.server.ts.js                                                                    0.13 kB
6:20:56 PM: .svelte-kit/output/server/internal.js                                                                                           0.19 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/task/detail/_detail_id_/annotation/_page.server.ts.js    0.22 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/task/edit/_page.svelte.js                                0.23 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/task/assign/excel/_page.svelte.js                        0.23 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/member/create/_page.svelte.js                            0.23 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/task/detail/_detail_id_/annotation/_page.svelte.js       0.23 kB
6:20:56 PM: .svelte-kit/output/server/chunks/resolveSearchParam.js                                                                          0.30 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/member/_user_id_/detail/_error.svelte.js                 0.38 kB
6:20:56 PM: .svelte-kit/output/server/entries/endpoints/api/task/_server.ts.js                                                              0.42 kB
6:20:56 PM: .svelte-kit/output/server/entries/endpoints/logout/_server.ts.js                                                                0.43 kB
6:20:56 PM: .svelte-kit/output/server/chunks/resoleveToken.js                                                                               0.51 kB
6:20:56 PM: .svelte-kit/output/server/chunks/stores.js                                                                                      0.53 kB
6:20:56 PM: .svelte-kit/output/server/chunks/jwt.js                                                                                         0.54 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/_error.svelte.js                                                                        0.56 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/task/detail/_detail_id_/_error.svelte.js                 0.56 kB
6:20:56 PM: .svelte-kit/output/server/chunks/navigation.js                                                                                  0.58 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/_error.svelte.js                                                              0.61 kB
6:20:56 PM: .svelte-kit/output/server/entries/endpoints/api/user/_server.ts.js                                                              0.65 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/_page.server.ts.js                                                            0.66 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/member/create/excel/_page.server.ts.js                   0.78 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/task/assign/_page.server.ts.js                           0.92 kB
6:20:56 PM: .svelte-kit/output/server/chunks/Wrapper.js                                                                                     0.97 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/member/_user_id_/detail/_page.server.ts.js               0.98 kB
6:20:56 PM: .svelte-kit/output/server/chunks/resolveTabConfig.js                                                                            0.98 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/dashboard/_page.svelte.js                                1.14 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/payment/_page.svelte.js                                  1.17 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/_page.server.ts.js                                                                      1.18 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/member/_page.server.ts.js                                1.19 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/task/_page.server.ts.js                                  1.51 kB
6:20:56 PM: .svelte-kit/output/server/chunks/Label.js                                                                                       1.53 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/member/_user_id_/edit/_page.server.ts.js                 1.68 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/_page.svelte.js                                                                         1.97 kB
6:20:56 PM: .svelte-kit/output/server/chunks/getUsersTableRowData.js                                                                        2.21 kB
6:20:56 PM: .svelte-kit/output/server/chunks/index.js                                                                                       2.29 kB
6:20:56 PM: .svelte-kit/output/server/chunks/index3.js                                                                                      2.36 kB
6:20:56 PM: .svelte-kit/output/server/chunks/Card.js                                                                                        2.64 kB
6:20:56 PM: .svelte-kit/output/server/chunks/SearchForm.js                                                                                  2.67 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/task/detail/_detail_id_/_page.server.ts.js               2.70 kB
6:20:56 PM: .svelte-kit/output/server/chunks/Select.js                                                                                      2.77 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/member/_user_id_/detail/_page.svelte.js                  2.96 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/member/create/excel/_page.svelte.js                      3.24 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/member/_error.svelte.js                                  3.81 kB
6:20:56 PM: .svelte-kit/output/server/chunks/api.js                                                                                         3.87 kB
6:20:56 PM: .svelte-kit/output/server/chunks/hooks.server.js                                                                                4.02 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/member/_page.svelte.js                                   4.35 kB
6:20:56 PM: .svelte-kit/output/server/chunks/Input.js                                                                                       4.77 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/task/detail/_detail_id_/_page.svelte.js                  4.89 kB
6:20:56 PM: .svelte-kit/output/server/chunks/Pagination.js                                                                                  5.02 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/_page.svelte.js                                                               5.09 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/task/assign/_page.svelte.js                              5.10 kB
6:20:56 PM: .svelte-kit/output/server/chunks/Frame.js                                                                                       5.43 kB
6:20:56 PM: .svelte-kit/output/server/chunks/internal.js                                                                                    5.43 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/task/_page.svelte.js                                     6.05 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/protected/project/_project_id_/member/_user_id_/edit/_page.svelte.js                    6.13 kB
6:20:56 PM: .svelte-kit/output/server/chunks/TableHeadCell.js                                                                               6.23 kB
6:20:56 PM: .svelte-kit/output/server/chunks/Toaster.svelte_svelte_type_style_lang.js                                                       6.60 kB
6:20:56 PM: .svelte-kit/output/server/chunks/Button.js                                                                                      7.29 kB
6:20:56 PM: .svelte-kit/output/server/chunks/index2.js                                                                                      8.74 kB
6:20:56 PM: .svelte-kit/output/server/chunks/Table.js                                                                                      10.40 kB
6:20:56 PM: .svelte-kit/output/server/chunks/Badge.js                                                                                      10.85 kB
6:20:56 PM: .svelte-kit/output/server/chunks/TabComponent.js                                                                               17.30 kB
6:20:56 PM: .svelte-kit/output/server/entries/pages/_layout.svelte.js                                                                      27.73 kB
6:20:56 PM: .svelte-kit/output/server/index.js                                                                                             86.48 kB
6:20:56 PM: Run npm run preview to preview your production build locally.
6:20:56 PM: 
6:20:56 PM: > Using @sveltejs/adapter-netlify
6:20:56 PM:   ✔ done
6:20:56 PM: ✓ built in 17.12s
6:20:56 PM: ​
6:20:56 PM: (build.command completed in 18.2s)
6:20:56 PM: ​
6:20:56 PM: Functions bundling                                            
6:20:56 PM: ────────────────────────────────────────────────────────────────
6:20:56 PM: ​
6:20:56 PM: Packaging Functions from .netlify/functions-internal directory:
6:20:56 PM:  - render.mjs
6:20:56 PM: ​
6:20:57 PM: ​
6:20:57 PM: (Functions bundling completed in 889ms)
6:20:57 PM: ​
6:21:04 PM: (Netlify Build completed in 25.9s)
6:21:05 PM: Section completed: building
6:21:07 PM: Finished processing build request in 51.325s

Please share a HAR file. But on a high-level, I can see: Function details | Functions | Logs | capable-meerkat-135504 | Netlify

which logs your durations as:

You can try going through: [Support Guide] Why is my function taking long or timing out?