Skip to content
This repository has been archived by the owner on Jul 23, 2018. It is now read-only.

Performance impact of refreshing each datastore info at every scrape #18

Open
wtip opened this issue Sep 12, 2017 · 4 comments
Open

Performance impact of refreshing each datastore info at every scrape #18

wtip opened this issue Sep 12, 2017 · 4 comments

Comments

@wtip
Copy link
Contributor

wtip commented Sep 12, 2017

I've been running into an issue where one of my esxi hosts appears to be unreachable by the exporter.
I think what's actually happening is that the scrape is timing out.

vmware-exporter-scrape

The jump in scrape duration coincides with about the time that I deployed this code change #16
and it looks like I might be bumping up against my default 10 second timeout.
I've increased my timeout but I'm not sure if this is a great solution for everyone. Maybe the datastore refresh should be a configurable option.

@rverchere
Copy link
Owner

Hi,

yes I have the same issue, need to find another way to refresh datastore.

@wtip
Copy link
Contributor Author

wtip commented Sep 13, 2017

My scrape interval is 60 seconds and after my discovery yesterday I changed the timeout from 10s to 30s.
Interestingly the average scrape duration also improved from around 3.5 seconds to 2.5 seconds after the change. My guess is that this has something to do with request blocking.
In the graph above the 1 node with a significantly higher scrape duration has 2 iscsi datastores instead of 1 so my guess is that the refresh duration increases with every datastore that is attached.

There's also the RefreshDatastore() method https://github.com/vmware/pyvmomi/blob/master/docs/vim/Datastore.rst maybe this is faster. This is not supported on the free esxi license. I got a 'Current license or ESXi version prohibits execution of the requested operation.',

I'm also wondering if there's a good way to make the refresh not block the rest of the request. I don't really care if the capacity info is refreshed before the request is returned. I just need it to be refreshed on a regular basis.

@nivshlomokaltura
Copy link

Hello,

Exporter is getting vcenter (5.5\6.0.2) to refresh datastore information as a vcenter task each query cycle and flood the task viewer.

i would suggest to remove ds.RefreshDatastoreStorageInfo() from vmware_exporter.py

@pryorda
Copy link

pryorda commented Jun 29, 2018

This issue was moved to pryorda/vmware_exporter#8

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

No branches or pull requests

4 participants