3

I've been trying to implement a artifact cleanup process based on https://www.jfrog.com/blog/advanced-cleanup-using-artifactory-query-language-aql/ ... but found that the AQL is really slow. i've seen queries still running after 24 hours with the server pinned at 100% cpu.

Using simple curl :

time curl -vv -u user:password -d "${query}" "http://server:8081/artifactory/api/search/aql"

I've measured :

items.find({"repo" : "ep-snapshots", "@milestone.keep": {"$ne" : "true"}, "@milestone.complete": {"$ne" : "true"}, "created": {"$before" : "3d"}}).limit(100)

33 minutes

items.find({"repo" : "ep-snapshots", "@milestone.keep": {"$ne" : "true"}, "@milestone.complete": {"$ne" : "true"}}).limit(100)

42 minutes

items.find({"repo" : "ep-snapshots", "@milestone.keep": {"$ne" : "true"}, "@milestone.complete": "false"}).limit(100)

574 minutes

Are there any techniques to investigate the performance of AQL ? Anything obviously broken with the above ?

Thanks,

Pete

Dror Bereznitsky
  • 20,048
  • 3
  • 48
  • 57
Peter Lord
  • 51
  • 3

0 Answers0