Jump to content

Extremely slow web UI performance


Deathsquirrel
 Share

Recommended Posts

Deathsquirrel

Server version 3.2.14.0

 

The web UI rendering is very, very slow.  It's taking 30-45 seconds to load the page when I click the Home icon for example.  Clicking Movies, which takes me to the all movies view, is around 15 seconds to render the single page of movie posters.  I have removed all plugins with no improvement.

 

This started a couple days ago.  I believe it was the same day I upgraded to 3.2.14.0 but I think I actually started seeing before the server was updated that day.

 

There haven't been any hardware or software changes on the server in this time frame, other than the emby update.  The emby server config has not been changed at all, other than enabling debug logging, but the library contents have been changing for weeks as I move files from the existing server to their new home on a synology nas, so the library scan and cleanup tasks have been run often in this time.

 

Debug server log from a restart through a few loads of the home page and movies UI attached.  It shows a ton of (slow) entries, unsurprisingly.

server debug log.txt

Edited by Deathsquirrel
Link to comment
Share on other sites

bfir3

I'm noticing this on 3.2.13.0 as well. I haven't quite had up to 45 second delays, but easily 20+ second delays on several occasions.

Link to comment
Share on other sites

Deathsquirrel

Any suggestions before I nuke this install and start over?  Those initial scans are slow enough I'd rather avoid them.

Link to comment
Share on other sites

bfir3

Any suggestions before I nuke this install and start over?  Those initial scans are slow enough I'd rather avoid them.

 

I don't think a fresh install will help. My install is fresh from last Friday and I still have the issue.

Link to comment
Share on other sites

Happy2Play

Sorry I haven't seen any difference in performance on stable or beta.  All pages respond within a second or two.

Link to comment
Share on other sites

Newer installs will have smaller databases as that is the continuing trend, so yes, depending on how old your install is, you may see a difference.

 

Is Emby Server installed on an SSD or a rotational drive?

Link to comment
Share on other sites

Deathsquirrel

Newer installs will have smaller databases as that is the continuing trend, so yes, depending on how old your install is, you may see a difference.

 

Is Emby Server installed on an SSD or a rotational drive?

 

SSD in my case.  Everything's been pretty speedy until a few days ago.

Link to comment
Share on other sites

Deathsquirrel

Has your number of live tv channels increased lately?

 

Nope, not a live TV user.

Link to comment
Share on other sites

well you have serverwmc installed so i would remove that, and any other plugins you are not using.

Link to comment
Share on other sites

Deathsquirrel

well you have serverwmc installed so i would remove that, and any other plugins you are not using.

 

According to the server UI that was not installed.  I've installed it, restarted the server service using the UI, removed it, restarted again, and no change.  What I do see though is that I can't get rid of studio cleaner.  I uninstall it, the restart generally fails, and upon manual restart it's still shown as installed.  Perhaps I've just got some corruption that warrants a reinstall.

Link to comment
Share on other sites

Deathsquirrel

Reinstall seems to have cleared it.  The initial scans will be quite a while but it's running darn fast at the moment.

Link to comment
Share on other sites

kjp4756

I had the same problem with emby-server on linux.  Rather than wiping out the db and starting over I chose a different approach:

 

 

systemctl stop emby-server
sqlite3 /var/lib/emby-server/data/library.db "VACUUM"
sqlite3 /var/lib/emby-server/data/library.db "ANALYZE"

sqlite3 /var/lib/emby-server/data/library.db "REINDEX"
systemctl start emby-sever
  • Like 1
Link to comment
Share on other sites

maximumentropy

 

I had the same problem with emby-server on linux.  Rather than wiping out the db and starting over I chose a different approach:

systemctl stop emby-server
sqlite3 /var/lib/emby-server/data/library.db "VACUUM"
sqlite3 /var/lib/emby-server/data/library.db "ANALYZE"

sqlite3 /var/lib/emby-server/data/library.db "REINDEX"
systemctl start emby-sever

 

Thank you for posting this.  I adapted this for Windows (stopping and starting Emby manually, and adjusting the full path) and it seems to have helped with some ongoing performance problems I've been having on my system.

Link to comment
Share on other sites

  • 4 months later...

 

I had the same problem with emby-server on linux.  Rather than wiping out the db and starting over I chose a different approach:

systemctl stop emby-server
sqlite3 /var/lib/emby-server/data/library.db "VACUUM"
sqlite3 /var/lib/emby-server/data/library.db "ANALYZE"

sqlite3 /var/lib/emby-server/data/library.db "REINDEX"
systemctl start emby-sever

 

Worked for me too, on a Synology NAS.

Thanks.

Link to comment
Share on other sites

  • 1 month later...

My installation is dysfunctionally slow so I tried the above steps and now the home page loads quickly but no UI buttons respond to any clicking - I can't get into settings etc.

 

How do I fix this? Tried restarting the service a few times. (Ubuntu 17.10)

 

Update: UI started responding again

 

Seeing a lot of this:

 

 

2017-11-03 13:09:15.942 Error App: Error in The Open Movie Database *** Error Report *** Version: 3.2.35.0 Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffmpeg /opt/emby-server/bin/ffmpeg -ffprobe /opt/emby-server/bin/ffprobe -updatepackage emby-server-deb_{version}_amd64.deb Operating system: Unix 4.13.0.16 64-Bit OS: True 64-Bit Process: True User Interactive: True Processor count: 16 Program data path: /var/lib/emby Application directory: /opt/emby-server/system MediaBrowser.Model.Net.HttpException: Connection to https://www.omdbapi.com?apikey=&i=&plot=short&tomatoes=true&r=json timed out ---> System.Threading.Tasks.TaskCanceledException: A task was canceled. at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult() at System.Net.Http.HttpClient.<FinishSendAsyncBuffered>d__58.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.<SendAsyncInternal>d__20.MoveNext() --- End of inner exception stack trace --- at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.<SendAsyncInternal>d__20.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.<SendAsync>d__17.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MediaBrowser.Providers.Omdb.OmdbProvider.<EnsureItemInfo>d__12.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MediaBrowser.Providers.Omdb.OmdbProvider.<GetRootObject>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MediaBrowser.Providers.Omdb.OmdbProvider.<Fetch>d__6`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MediaBrowser.Providers.Omdb.OmdbItemProvider.<GetMovieResult>d__19`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MediaBrowser.Providers.Manager.MetadataService`2.<ExecuteRemoteProviders>d__27.MoveNext() MediaBrowser.Model.Net.HttpException at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.<SendAsyncInternal>d__20.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.<SendAsync>d__17.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MediaBrowser.Providers.Omdb.OmdbProvider.<EnsureItemInfo>d__12.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MediaBrowser.Providers.Omdb.OmdbProvider.<GetRootObject>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MediaBrowser.Providers.Omdb.OmdbProvider.<Fetch>d__6`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MediaBrowser.Providers.Omdb.OmdbItemProvider.<GetMovieResult>d__19`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at MediaBrowser.Providers.Manager.MetadataService`2.<ExecuteRemoteProviders>d__27.MoveNext() InnerException: System.Threading.Tasks.TaskCanceledException System.Threading.Tasks.TaskCanceledException: A task was canceled. at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult() at System.Net.Http.HttpClient.<FinishSendAsyncBuffered>d__58.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.<SendAsyncInternal>d__20.MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult() at System.Net.Http.HttpClient.<FinishSendAsyncBuffered>d__58.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.<SendAsyncInternal>d__20.MoveNext()

Edited by Xen0sys
Link to comment
Share on other sites

@@Luke Sorry, I sent a PM. So far I haven't been able to get any library to load at all (even after like 10+ minutes).

 

I'm thinking it might be a library permissions issue but haven't been able to find the relevant guide. Plex could be configured to run as the user account to simplify this issue. Is this possible with emby?

Link to comment
Share on other sites

Please update to the latest release of emby server, 3.2.36. 

 

Then, to improve the performance of your server, consider uninstalling the following plugins:

2017-11-03 14:08:05.214 Info App: Loading MediaBrowser.Plugins.Anime, Version=1.2.1.1, Culture=neutral, PublicKeyToken=null
2017-11-03 14:08:05.214 Info App: Loading CoverArt, Version=4.0.56.0, Culture=neutral, PublicKeyToken=null
2017-11-03 14:08:05.214 Info App: Loading Emby.Kodi.SyncQueue, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null
 
Let us know if this helps. Thanks !
Link to comment
Share on other sites

@@Luke Thanks for the quick response. Either the CoverArt or Kodi Sync plugin were borking the system entirely.

 

I upgraded & removed all 3 plugins & restarted Emby.

 

What started working:

  1. Can now see items on home page & view library folders

Here's what's still not working:

 

  1. Cannot connect via https://localhost:8920

  2. Cannot connect via Emby Connect Home Theater (http://tv.emby.media/)

  3. Cannot connect via Android app (Emby Connect)

 

I can start a different thread for that though if it's not a quick fix.

Link to comment
Share on other sites

I was able to access the system via https port when it was in a proxmox turnkey container. Seems maybe I need to set up my own SSL cert though for it to work?

 

When I try to connect by selecting the server or entering the IP I just get a "Connection Failed" & "We're unable to connect to the selected server right now. Please ensure it is running and try again".

 

Do I need external/remote access on 8096 for emby connect to work?

 

(Android app started working when adding IP manually but I had to delete the existing listed server first)

Link to comment
Share on other sites

I was able to access the system via https port when it was in a proxmox turnkey container. Seems maybe I need to set up my own SSL cert though for it to work?

Yes.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...