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

[FIO]: Elasticsearch index 'ripsaw-fio-analyzed-result' doesn't record the std-deviation for randomread and randomwrite #180

Open
keesturam opened this issue May 19, 2020 · 4 comments

Comments

@keesturam
Copy link

keesturam commented May 19, 2020

we depend on the std-dev value in the ripsaw-fio-analyzed-result in ocs-ci to evaluate whether the data sample is valid before proceeding the validation of regression.

@jtaleric
Copy link
Member

@acalhounRH @bengland2

@bengland2
Copy link
Contributor

@keesturam touchstone deals with related concerns. It's not ripsaw's job to calculate %deviation. ripsaw is just an operator that runs a benchmark. snafu is just a benchmark wrapper that digests the output data and injects it into elasticsearch. What we do from there is up to us. Alex has an fio grafana dashboard that calculates it, here's an example. Avi has a script that generates %deviation for smallfile data, same method could be used by OCS QE for fio if this is appropriate. Or we could try to build this code into the fio-client pod so that when it is done injecting per-pod results into ES, it would go the extra mile and compute aggregate results, %deviation across samples, etc. @acalhounRH does this seem technically feasible?

Smallfile used to have an orchestrator process that would run all the workload processes, then aggregate per-thread results into cluster-level results before Kubernetes came along, but right now it can't because there is no shared filesystem, there is just elastic search and a bunch of smallfile pods synchronized by redis. Someone (Avi?) suggested that smallfile should have an "orchestration" pod much like fio does, so when all the smallfile worker pods finish, the orchestrator pod could go into ES and finish reducing the data, much like Avi's script is doing. Instead of using a shared filesystem like smallfile used to do, Redis could be used for synchronization, and ES is the shared repository where the data can be placed and found. I like that idea.

@keesturam
Copy link
Author

@bengland2 Implementation of arriving at a standard deviation is available in the analyzed results. It works for sequential workload and doesn't work on random workload. As I understand from the conversation with @acalhounRH this is a minor bug that needs to be fixed.

@acalhounRH
Copy link
Contributor

acalhounRH commented May 20, 2020

ack, it is a minor bug.

change that is need is an additional if statement that checks for randrw.

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

Successfully merging a pull request may close this issue.

4 participants