Filament Performance: 1M DB Rows - Benchmark

Sdílet
Vložit
  • čas přidán 30. 06. 2024
  • Let's test if Filament is slower with larger amount of data, and discuss the SQL queries under the hood.
    Links mentioned in the video:
    - Official Filament Demo on GitHub: github.com/filamentphp/demo
    - SQL dump of the database shown in the video: drive.google.com/file/d/1P284...
    - Filament issue I've opened: github.com/filamentphp/filame...
    - My Eloquent courses: laraveldaily.com/courses
    - More Filament examples on our website: filamentexamples.com

Komentáře • 30

  • @hussain4real
    @hussain4real Před 12 dny +12

    I tend to cache anything that has to do with count, either in widgets or navigation badge

  • @FindWebX
    @FindWebX Před 12 dny

    Thank you

  • @vitaliejalbu8206
    @vitaliejalbu8206 Před 12 dny

    here is, thak you bery much

  • @kreaweb-be
    @kreaweb-be Před 12 dny

    Helas, aggregate functions (SUM, AVG,...) can not be indexed on SQL.

  • @renatofrota
    @renatofrota Před 12 dny +1

    Did you try enabling SPA mode? The counters on sidebar would not run multiple times, I suppose.

    • @FilamentDaily
      @FilamentDaily  Před 12 dny +3

      No I didn't, would be an interesting experiment.

  • @khafi22
    @khafi22 Před 12 dny +1

    Actually, part of filament slowness is due to livewire and nested views

    • @FilamentDaily
      @FilamentDaily  Před 12 dny +1

      Yes but I'm yet to experience/reproduce it in my projects. Do you have any examples or screenshots or links?

  • @phoenixedge4049
    @phoenixedge4049 Před 11 dny

    Can you do a video on how best to cache some of these things?

    • @FilamentDaily
      @FilamentDaily  Před 11 dny +1

      I wrote about it as a part of a premium tutorial from Laravel side on my LaravelDaily: laraveldaily.com/post/eloquent-performance-enum-int-tinyint-and-softdeletes

  • @hshxy
    @hshxy Před 11 dny

    Video request: Grid view, where you can view recurring tasks with their deadline dates.

    • @FilamentDaily
      @FilamentDaily  Před 11 dny +1

      Can you link to any screenshot how exactly it would look? I mean not in filament, in any other system.

    • @hshxy
      @hshxy Před 11 dny

      @@FilamentDaily I just tried adding a link but seems like youtube deleted my comment automatically 😕

    • @hshxy
      @hshxy Před 11 dny

      Do you have a contact like an email where I could send you this?

    • @FilamentDaily
      @FilamentDaily  Před 11 dny +1

      Yeah, email me povilas@laraveldaily.com

  • @darkbelg
    @darkbelg Před 12 dny +2

    I'm not convinced of the conclusion. Unless filament have done some performance optimalizations this is not what my experience is.
    The demonstration of 10 items taking 800ms raises some questions about performance. I'm curious to know if this is within the expected range for this type of implementation. Would it be possible to explore the impact of increasing the number of records per page, say to 100, to better understand the performance impact?
    I'm missing insights on possible livewire performance issues.
    I also made a project in filament. According to debug bar it takes 703ms to load the page but database retrieval was only 10 ms. Where did the other ms go? This is with octane and 100 items per page.
    As for the graphs if they are a separate ajax call. I don't see why you would remove them. They don't slow down the call to show the data, right?

    • @FilamentDaily
      @FilamentDaily  Před 11 dny +1

      Good and valid questions. I guess there should be a separate video about the Livewire and front-end part of Filament and how it works. But should it be the same example?
      Or can you give me access to that 800ms project so I would investigate?

  • @ellmatic
    @ellmatic Před 12 dny

    RELAUNCH TO UPDATE

  • @mori181186
    @mori181186 Před 12 dny +1

    Video Request: Add a Filament Form in the frontend, without loggedin user.

    • @tahinuralam
      @tahinuralam Před 12 dny

      Yes unauthenticated Page with infolist layout that means a landing page

    • @krekas
      @krekas Před 12 dny

      form the form you can add it to a livewire component. for the infolist should be the same

    • @tahinuralam
      @tahinuralam Před 12 dny

      @@krekas but how to add multiple table/widegt in infolist ?
      Thanks in advance

    • @FilamentDaily
      @FilamentDaily  Před 12 dny +1

      @mori I already have a video about Filament forms on the front-end: czcams.com/video/QZBXG8OSz7U/video.html

    • @FilamentDaily
      @FilamentDaily  Před 12 dny

      @tahinuralam personally, I wouldn't build a LANDING page with Filament. It's not its core purpose. I would better use some Tailwind/Bootstrap theme.

  • @OS-Advertising
    @OS-Advertising Před 6 hodinami

    to be honest 2.5s for 1M rows is fine for me, i can deal with that