Comments (14)
hi @geeknik,
I fully fixed this issue. At my side, with 10k reports, the old method takes about 14 seconds to load.
With the a3ff011 fix, it takes about 4 seconds.
In this new commit 6ee8c1b I've now added a small loading indicator at the dashboard statistics, and loading in the stats will now work via javascript. That way the dashboard loads within 300 ms, and the stats will be added within a few seconds, depending on how much data you have.
I also checked all SQL queries that are made by ezXSS and improved the speed and caching on all of them. The overall experience within the manage panel should be beter with these fixes.
Would love for you to check these out and get some feedback :). I will release 3.9 if you agree this fixes it (no pressure!)
from ezxss.
Cool! I will probably release it later tonight or tomorrow. Thanks for your time and thanks for the sponsor 👍:)!
from ezxss.
I concur. I just upgraded from 3.5 to 3.9 and it is like night and day when logging in now. Go ahead and release 3.9.
from ezxss.
Could you try updating line 97 in Component.php on your side:
from:
$last = $this->database->fetch('SELECT * FROM reports ORDER BY id DESC LIMIT 1');
to:
$last = $this->database->fetch('SELECT id,time FROM reports ORDER BY id DESC LIMIT 1');
If that improves the load time i will add this to a new release.
from ezxss.
It improved the time from 38 seconds to 23 seconds.
from ezxss.
If this helps debug further, my stats right now:
7443
total reports
31
reports last week
1d
last report
1011
total domains
18
domains last week
from ezxss.
Have you tried adding an INDEX? I think it might help adding one to id and origin.
from ezxss.
Great minds think alike, I was just in the middle of doing that when I saw your notification. Adding one to id
and one to origin
increased the time from 23 seconds to 25 seconds.
from ezxss.
I would't know any more ways to speed up this process. My load time is about 1 second with 4k reports. Could it be something to do with your database server?
from ezxss.
I got it down to less than 10 seconds by bumping up some query cache limits in MySQL. Good enough for now until 4.0 comes out and gives me a good excuse to start a new server from scratch. (; Thank you.
from ezxss.
Hi @geeknik,
I've just made an performance improvement in a3ff011 for the dashboard statistics.
Could you confirm this improvement? In my tests the dashboard loads within a second instead of a few seconds..
from ezxss.
hi @ssl, I haven't updated to the latest release yet (still on a branch from 25 August) and just cherry picking that particular change causes immense MySQL load and every portion of the site now loads slower than before.
from ezxss.
Hi @geeknik,
Since that release I've made multiple improvements to the SQL queries.
What causes the immense MySQL load you've got? Do you mean the a3ff011 change? It should improve it..
from ezxss.
GIF:
from ezxss.
Related Issues (20)
- Feature Request: Click to copy payload. HOT 2
- Feature Request: Add GPG encryption of callback data with OpenPGP.js HOT 3
- screenshot HOT 2
- Add ability to block all subdomains by adding root domain to block list HOT 4
- Broken copy cookies as JSON HOT 2
- Docker Install SQL Error HOT 5
- Out-of-the-box docker installation has broken HTTPS interface (ssl error) HOT 6
- Limit the amount of disclosed information in alerts HOT 1
- Screenshots don't work while using import() function HOT 3
- Please include the "forget password" and "delete account" features in the application. HOT 1
- Error updating from 4.x to 4.2 HOT 12
- DataTables warning: table id=reports - Ajax error HOT 2
- Bug: Duplicate report setting isn't respected by Discord setting HOT 4
- Updating from 4.1 to 4.2 catches 500 error on update page HOT 7
- Feature Request : Cleaner UI HOT 4
- List of issues when updated to v4.2 HOT 2
- Recovering
- Issue with some payloads HOT 5
- Cookies not shown in generated reports HOT 2
- [FR] OICD Login
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ezxss.