UrlTracker icon indicating copy to clipboard operation
UrlTracker copied to clipboard

Performance issues

Open quadhenke opened this issue 7 years ago • 8 comments

Hi, we have performance issues on a couple of larger sites.

When we have traffic spikes resulting in many 404s, UrlTracker makes many SQL queries, causing the site to slow down and stop/restart.

We have experienced sql queries that take minutes, which makes us suspect there are circular references due to multiple rewrites.

Is there any way to avoid so many databases queries from UrlUracker? Can it be saved in memory(cache) instead of making database requests? Is there any internal safeguard against circular references?

The sites are not load balanced but are located on Azure. Version is 3.13.1, 404 logging is disabled.

quadhenke avatar Jan 09 '18 08:01 quadhenke

Hi,

What version of the plugin are you using? There were some performance issues in older versions. However, I haven't really tested with Azure.

daniel-chenery avatar Jan 09 '18 08:01 daniel-chenery

I'd disable 404 logging.

kipusoep avatar Jan 09 '18 08:01 kipusoep

is 404 logging disabled on the UI ?

akeilox avatar Jan 09 '18 08:01 akeilox

version is 3.13.1, 404 logging is disabled.

quadhenke avatar Jan 09 '18 08:01 quadhenke

@akeilox It's an AppSetting

@quadhenke There were some performance problems with 3.13.x (#166, #169). I'd try 3.14.1 see if that helps at all.

daniel-chenery avatar Jan 09 '18 14:01 daniel-chenery

Thanks that sounds promising @daniel-chenery will try 3.14.1 in coming Sprint.

quadhenke avatar Jan 09 '18 14:01 quadhenke

Hi guys, I've tried out version 3.14.1 and it seems that the performace of 404 view in umbraco is still the same as it was before (which is bad). My setup is Umbraco 7.5.10 and Url Tracker 3.14.1 (3.11 before) running on Azure AppService. I have approx 250K rows in icUrlTracker table. I've noticed that the 404 view queries database using that SQL query: (@is404 int,@redirectHttpCode int)SELECT * FROM icUrlTracker WHERE Is404 = @is404 AND RedirectHttpCode != @redirectHttpCode It takes about 8sec to execute on database. The wiew has a paging included (20 rows by default) but no matter which pagesize I choose the SQL query looks exactly the same so I have the feeling that paging is done in memory after getting all 250K rows. Could that be fixed?

LukaszBancarz avatar Jan 23 '18 11:01 LukaszBancarz

Sure, create a PR with the fix?

kipusoep avatar Jan 23 '18 18:01 kipusoep