Django benchmarking project

Hey @deepakdinesh1123 — great stuff — let me have a read. I’m also looking at a couple of the loose-ends from this thread this week. Likely I’ll not get them all resolved, but it’s all good work, and will come in useful resolving the related tickets, over the next period.

Overall, I want to say, what a good job you’ve done all summer! Thank you for your effort. :gift:
I hope you’ll continue to hang around with us, working on Django, and the benchmarks too.
You can always reach out to me if I can help you at all.

I will continue working on the template repository and channels load-testing project and I will also add some new request response benchmarks.

Super. Yep. :+1:

I see you saw the thread about SQLite on Twitter — If you wanted to you could set up a locust project that made some reads, just to give a base load, and then slowly cranked up the number of writes until we hit the Database is locked error. Then adding a few different retry timeout values, to see the difference that makes. Finally enabling WAL for the same. (It’s on my list to add a note about enabling WAL to the docs (See #24018 (Support journal_mode=WAL for Sqlite) – Django) so there might be a small PR (just to the docs) available there too.

As I say, that’s all if you want to but it might be a bit of fun for this week? Up to you. :partying_face:

@carltongibson
I tried to implement this, but I was confused about which type of solution to implement

Should I set up a project with different databases using different configurations? Test a database with the default config, WAL enabled, and different retry values and compare their results.

Or should I change the configuration of the database during the load test when the Database is locked error is encountered?

oHey Deepak. The idea was to have a setup for each config. So we can say at what point the error comes up with each config. Make sense?

Hey @deepakdinesh1123 — … (cont) … — but if you got as far as bootstrapping the standard project and triggering the database locked error, that’s a good start. Either you or I (or someone else) can push it further in the coming weeks. (No stress here: you’ve already done loads!) :+1: