Stress test details

Likely as so many before me I have also downloaded the docker image of memsql and executed the ```
simple-benchmark against it. The numbers were stellar and I’d like to understand how was it achieved?

  1. Which language and client was the stress-test using (JAVA/Python, etc). I’d like to know the actual name/version of the library
  2. In my case there were 10 workers. How many connections did the benchmark use - this was not apparent from the report?
  3. Were there any optimization on the docker image itself? relaxed fsync, write behind vs. write ahead, skipping the journal or something similar?

Hi @ratacash

Quick question – how/where did you find that Docker image? If you found it here, as it explains, it’s a deprecated repository. We no longer support this image.

The new location to install via Docker is here.

The stress test was written in Python, as you can see in the simple-benchmark code.

There is a total of 10 workers, with 1 worker per core, with a batch size of 5000. If you read the simple-benchmark code, that will be very clear to you.

The reason why it runs so fast is because the query itself is very simple and is not a “benchmark” of MemSQL, rather, you could use this to compare different computer systems if you run it on different machines.

This is the query:

QUERY_TEXT = "INSERT INTO %s (val) VALUES %s" % (TABLE, ",".join(["(1)"] * BATCH_SIZE))

I don’t suggest using you running MemSQL with Docker – it’s more of a functional test of MemSQL rather than something we recommend for production usage.

Hope this answers your question.

I’ve found the docker image here:
dockerhub is high on google’s indexes, so if that is a deprecated image I suggest to update or remove it.

As for the rest, thank you for the answers. Yes, the query really looks simply. Especially, if the reported numbers are lines inserted as opposed to statements executed.