Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Report system is slow when storing all reports #88

Open
satvug opened this issue Aug 7, 2019 · 1 comment
Open

Report system is slow when storing all reports #88

satvug opened this issue Aug 7, 2019 · 1 comment

Comments

@satvug
Copy link

satvug commented Aug 7, 2019

In our fuzzing project, we wanted to store all reports so we could do some postprocessing and do statistics on every single test (we are fuzzing via HTTPS requests).

So we used fuzzer.set_store_all_reports(True) on our Kitty fuzzer object.

However, we noticed that the fuzzer becomes extremely slow over time when we enabled this option, to the point where there was no way it could finish our test. When only storing the tests that fail (as default), there are no significant slowdowns over time.

We also noticed the WebInterface becomes very slow and unresponsive when a lot of reports are being stored (possibly because it lists all reports in the UI?)

We thus decided to use our own report system, also using SQLite. We use our own customised solution and only log the data we want, and it turns out to be super fast and lightweight. We don't use threading and we insert and commit on every test.

So we are quite sure that there is some bottleneck in the Kitty report system code that makes it really slow when a lot of reports are being saved. We are not sure exactly what causes it, but maybe it could have something to do with the threading system (since we don't use threading and we get really fast results).

We can't pinpoint the problem exactly and don't have a solution right now, but thought we would make you aware of it :)

@BinyaminSharet
Copy link
Member

Thanks for bringing that up. I will try to dig into it. If you feel like your solution can be generic enough and that its possible to merge it into Kitty I would appreciate a pull request. cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants