How many online clients does jellyfin support? - xfireteam - 2025-02-12
How many online clients does jellyfin support before it becomes unstable?
Why is the search slow?
Is the version of jellyfin 32bit or 64bit?
Why is there no option to increase the database cache?
Thanks
RE: How many online clients does jellyfin support? - TheDreadPirate - 2025-02-12
Jellyfin is exclusively 64-bit for x86 CPUs. ARM32 is deprecated and 10.11 there will simply not be an ARM32 version.
The number of clients Jellyfin can support depends on a lot of things. Jellyfin won't become "unstable", AFAIK, after a certain number of clients. You will simply exhaust your server's ability to reliably serve data before Jellyfin becomes "unstable". That can mean your storage's ability to serve up the files fast enough, or your network/Internet's ability to transfer data fast enough, or your CPU/GPU's ability to transcode enough streams for the number of clients you have.
Search performance varies greatly depending on the number of items you have in your library. SQLite just isn't the fastest. "Jellysearch" is an external application that can be used to search your Jellyfin instance more quickly.
https://forum.jellyfin.org/t-jellysearch
I'm sure there is a reason for not being able to change the database cache, but I don't think that would meaningfully improve Jellyfin's DB performance. The development/unstable branch of Jellyfin recently merged a database refactor that will eventually pave the way for external DB providers (like postgresql). But that is months away, minimum.
RE: How many online clients does jellyfin support? - Remotepall - 2025-02-17
(2025-02-12, 06:48 PM)TheDreadPirate Wrote: The development/unstable branch of Jellyfin recently merged a database refactor that will eventually pave the way for external DB providers (like postgresql). But that is months away, minimum.
Hey mate, Realise you are busy and sorry I had a quick look at the blog and didn't see anything there. Just wondering if you can expand on the reasoning around this. Just an academic question from someone that has only basic database knowledge (read: knows enough to stay away).
RE: How many online clients does jellyfin support? - 1hitsong - 2025-02-17
(2025-02-17, 04:57 AM)Remotepall Wrote: Hey mate, Realise you are busy and sorry I had a quick look at the blog and didn't see anything there. Just wondering if you can expand on the reasoning around this. Just an academic question from someone that has only basic database knowledge (read: knows enough to stay away).
https://jellyfin.org/posts/efcore-refactoring
RE: How many online clients does jellyfin support? - thymon - 2025-11-18
I think my database has really reached the limits of what SQLite can handle, so I’m very eager to move to PostgreSQL as soon as it’s available. Even with the pessimistic locking mode enabled, I’m still getting server crashes every single day.
Code: [23:11:02] [INF] [418] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: 'af8f31fc-4634-49eb-8371-0704909d5932' since '11/18/2025 23:11:01 +01:00'
[23:11:04] [INF] [421] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: QueryLock: 98d52758-d560-4ef9-91e0-8a13f266846f --- Transaction
[23:11:04] [INF] [421] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: '98d52758-d560-4ef9-91e0-8a13f266846f' since '11/18/2025 23:11:02 +01:00'
[23:11:08] [INF] [423] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: QueryLock: 196dcdf5-c71c-489f-b5c6-9745562c4ba3 --- Transaction
[23:11:08] [INF] [423] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: '196dcdf5-c71c-489f-b5c6-9745562c4ba3' since '11/18/2025 23:11:04 +01:00'
[23:11:11] [INF] [417] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior: Query congestion detected: '196dcdf5-c71c-489f-b5c6-9745562c4ba3' since '11/18/2025 23:11:04 +01:00'
[23:11:14] [INF] [419] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: '196dcdf5-c71c-489f-b5c6-9745562c4ba3' since '11/18/2025 23:11:04 +01:00'
[23:11:16] [INF] [416] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior: QueryLock: de9363ba-b365-4524-99f0-dc7c3781ef0b --- Transaction
[23:11:16] [INF] [416] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior: Query congestion detected: 'de9363ba-b365-4524-99f0-dc7c3781ef0b' since '11/18/2025 23:11:16 +01:00'
[23:11:17] [INF] [415] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: QueryLock: 4a888fb9-891c-44b4-ba4a-581c695c778d --- Transaction
[23:11:17] [INF] [415] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: '4a888fb9-891c-44b4-ba4a-581c695c778d' since '11/18/2025 23:11:16 +01:00'
[23:11:18] [INF] [414] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior: Query congestion detected: '4a888fb9-891c-44b4-ba4a-581c695c778d' since '11/18/2025 23:11:16 +01:00'
[23:11:20] [INF] [433] Emby.Server.Implementations.HttpServer.WebSocketManager: WS xxx.xxx.xxx.xxx request
[23:11:20] [ERR] [433] Jellyfin.Database.Implementations.JellyfinDbContext: Error trying to save changes.
Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException: The database operation was expected to affect 1 row(s), but actually affected 0 row(s); data may have been modified or deleted since entities were loaded. See https://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and handling optimistic concurrency exceptions.
at Microsoft.EntityFrameworkCore.Update.AffectedCountModificationCommandBatch.ThrowAggregateUpdateConcurrencyExceptionAsync(RelationalDataReader reader, Int32 commandIndex, Int32 expectedRowsAffected, Int32 rowsAffected, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.AffectedCountModificationCommandBatch.ConsumeResultSetWithRowsAffectedOnlyAsync(Int32 commandIndex, RelationalDataReader reader, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.AffectedCountModificationCommandBatch.ConsumeAsync(RelationalDataReader reader, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalDatabase.SaveChangesAsync(IList`1 entries, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(StateManager stateManager, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
at Jellyfin.Database.Implementations.JellyfinDbContext.<>c__DisplayClass62_0.<<SaveChangesAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.OnSaveChangesAsync(JellyfinDbContext context, Func`1 saveChanges)
at Jellyfin.Database.Implementations.JellyfinDbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
[23:11:21] [INF] [412] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior: Query congestion detected: '4a888fb9-891c-44b4-ba4a-581c695c778d' since '11/18/2025 23:11:16 +01:00'
[23:11:22] [INF] [433] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Android TV 0.19.3 playing [Movie A]. Stopped at 6425994 ms
[23:11:22] [INF] [433] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Web 10.11.3 playing [Movie B]. Stopped at 6414044 ms
[23:11:27] [INF] [409] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: QueryLock: 85565d2a-4a0a-4ed0-933d-cfd147867503 --- Transaction
[23:11:27] [INF] [409] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: '85565d2a-4a0a-4ed0-933d-cfd147867503' since '11/18/2025 23:11:22 +01:00'
[23:11:29] [INF] [408] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior: Query congestion detected: '85565d2a-4a0a-4ed0-933d-cfd147867503' since '11/18/2025 23:11:22 +01:00'
[23:11:31] [INF] [407] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: QueryLock: df2def83-36ee-40bc-9c29-919db7a592d4 --- Transaction
[23:11:31] [INF] [407] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: 'df2def83-36ee-40bc-9c29-919db7a592d4' since '11/18/2025 23:11:31 +01:00'
[23:11:34] [INF] [413] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: 'df2def83-36ee-40bc-9c29-919db7a592d4' since '11/18/2025 23:11:31 +01:00'
[23:11:45] [INF] [433] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.xxx.xxx request
[23:11:48] [ERR] [433] Jellyfin.Database.Implementations.JellyfinDbContext: Error trying to save changes.
Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException: The database operation was expected to affect 1 row(s), but actually affected 0 row(s); data may have been modified or deleted since entities were loaded. See https://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and handling optimistic concurrency exceptions.
at Microsoft.EntityFrameworkCore.Update.AffectedCountModificationCommandBatch.ThrowAggregateUpdateConcurrencyExceptionAsync(RelationalDataReader reader, Int32 commandIndex, Int32 expectedRowsAffected, Int32 rowsAffected, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.AffectedCountModificationCommandBatch.ConsumeResultSetWithRowsAffectedOnlyAsync(Int32 commandIndex, RelationalDataReader reader, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.AffectedCountModificationCommandBatch.ConsumeAsync(RelationalDataReader reader, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalDatabase.SaveChangesAsync(IList`1 entries, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(StateManager stateManager, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
at Jellyfin.Database.Implementations.JellyfinDbContext.<>c__DisplayClass62_0.<<SaveChangesAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.OnSaveChangesAsync(JellyfinDbContext context, Func`1 saveChanges)
at Jellyfin.Database.Implementations.JellyfinDbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
[23:11:50] [INF] [390] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: QueryLock: fa00c167-2138-4dcc-a1fd-ea0162972c59 --- Transaction
[23:11:50] [INF] [390] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: 'fa00c167-2138-4dcc-a1fd-ea0162972c59' since '11/18/2025 23:11:49 +01:00'
[23:11:51] [INF] [399] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: 'fa00c167-2138-4dcc-a1fd-ea0162972c59' since '11/18/2025 23:11:49 +01:00'
[23:11:53] [INF] [388] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: 'fa00c167-2138-4dcc-a1fd-ea0162972c59' since '11/18/2025 23:11:49 +01:00'
[23:11:54] [INF] [389] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: 'fa00c167-2138-4dcc-a1fd-ea0162972c59' since '11/18/2025 23:11:49 +01:00'
[23:11:56] [INF] [403] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: 'fa00c167-2138-4dcc-a1fd-ea0162972c59' since '11/18/2025 23:11:49 +01:00'
[23:11:58] [INF] [396] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: 'fa00c167-2138-4dcc-a1fd-ea0162972c59' since '11/18/2025 23:11:49 +01:00'
[23:11:59] [INF] [391] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: 'fa00c167-2138-4dcc-a1fd-ea0162972c59' since '11/18/2025 23:11:49 +01:00'
[23:12:01] [INF] [401] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: 'fa00c167-2138-4dcc-a1fd-ea0162972c59' since '11/18/2025 23:11:49 +01:00'
[23:12:02] [INF] [392] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: 'fa00c167-2138-4dcc-a1fd-ea0162972c59' since '11/18/2025 23:11:49 +01:00'
[23:12:15] [ERR] [433] Jellyfin.Database.Implementations.JellyfinDbContext: Error trying to save changes.
Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException: The database operation was expected to affect 1 row(s), but actually affected 0 row(s); data may have been modified or deleted since entities were loaded. See https://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and handling optimistic concurrency exceptions.
at Microsoft.EntityFrameworkCore.Update.AffectedCountModificationCommandBatch.ThrowAggregateUpdateConcurrencyExceptionAsync(RelationalDataReader reader, Int32 commandIndex, Int32 expectedRowsAffected, Int32 rowsAffected, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.AffectedCountModificationCommandBatch.ConsumeResultSetWithRowsAffectedOnlyAsync(Int32 commandIndex, RelationalDataReader reader, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.AffectedCountModificationCommandBatch.ConsumeAsync(RelationalDataReader reader, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalDatabase.SaveChangesAsync(IList`1 entries, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(StateManager stateManager, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
at Jellyfin.Database.Implementations.JellyfinDbContext.<>c__DisplayClass62_0.<<SaveChangesAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.OnSaveChangesAsync(JellyfinDbContext context, Func`1 saveChanges)
at Jellyfin.Database.Implementations.JellyfinDbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
[23:12:17] [INF] [433] Emby.Server.Implementations.HttpServer.WebSocketManager: WS xxx.xxx.xxx.xxx closed
[23:12:18] [INF] [385] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: QueryLock: 03d88778-ea24-4995-9098-3b5598abc34e --- Transaction
[23:12:18] [INF] [385] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: '03d88778-ea24-4995-9098-3b5598abc34e' since '11/18/2025 23:12:17 +01:00'
[23:12:20] [INF] [387] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: '03d88778-ea24-4995-9098-3b5598abc34e' since '11/18/2025 23:12:17 +01:00'
[23:12:21] [INF] [386] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior: Query congestion detected: '03d88778-ea24-4995-9098-3b5598abc34e' since '11/18/2025 23:12:17 +01:00'
[23:12:23] [INF] [383] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: QueryLock: 3730006d-5221-4da2-8001-53a78921f848 --- Transaction
[23:12:23] [INF] [383] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: '3730006d-5221-4da2-8001-53a78921f848' since '11/18/2025 23:12:23 +01:00'
[23:12:26] [INF] [381] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: '3730006d-5221-4da2-8001-53a78921f848' since '11/18/2025 23:12:23 +01:00'
[23:12:27] [INF] [380] Jellyfin.Database.Implementations.Locking.PessimisticLockBehavior.TransactionLockingInterceptor: Query congestion detected: '3730006d-5221-4da2-8001-53a78921f848' since '11/18/2025 23:12:23 +01:00'
|