diff options
| author | drebs <drebs@riseup.net> | 2017-10-31 16:32:45 -0200 | 
|---|---|---|
| committer | drebs <drebs@riseup.net> | 2017-11-02 09:36:31 -0200 | 
| commit | 31bdbc7268ff118080ecfb67f716fd86d3421032 (patch) | |
| tree | f5229cd7a868c00a55d7440a88f604a5ec97596f /scripts/scalability/test_controller | |
| parent | a7f93cec7999de04614d7adaf91c4348a3313e2e (diff) | |
[benchmarks] use only one user in scalability tests
Diffstat (limited to 'scripts/scalability/test_controller')
4 files changed, 27 insertions, 23 deletions
diff --git a/scripts/scalability/test_controller/client/Blobs.conf b/scripts/scalability/test_controller/client/Blobs.conf index d5a2761f..eea4b1cd 100644 --- a/scripts/scalability/test_controller/client/Blobs.conf +++ b/scripts/scalability/test_controller/client/Blobs.conf @@ -2,7 +2,7 @@  title=Blobs Scalability Tests  description=Upload and download blobs  url=http://giraffe.cdev.bitmask.net:2424/ -size=10 +size=1  templates_dir=/tmp/templates  [test_upload] diff --git a/scripts/scalability/test_controller/client/makefile b/scripts/scalability/test_controller/client/makefile index e0a719a0..97603cc4 100644 --- a/scripts/scalability/test_controller/client/makefile +++ b/scripts/scalability/test_controller/client/makefile @@ -25,8 +25,9 @@  # run `make`. -URI    = https://giraffe.cdev.bitmask.net:7001 -CREATE = 5000 +URI   ?= https://giraffe.cdev.bitmask.net:7001 +BLOBS ?= 10000 +SIZE  ?= 10  #------------------# @@ -51,12 +52,10 @@ bench-download: create-users create-blobs  # for quick tests only  bench-upload-quick: create-users delete-blobs -	 curl -X POST "$(URI)/blobs?action=delete"  	 fl-run-bench -c 1 --duration 10 -f test_Blobs.py Blobs.test_upload  # for quick tests only  bench-download-quick: create-users create-blobs -	 curl -X POST "$(URI)/blobs?action=create&size=10"  	 fl-run-bench -c 1 --duration 10 -f test_Blobs.py Blobs.test_download  #---------------------# @@ -81,10 +80,10 @@ stop-mem:  #--------------#  create-users: -	 curl -X POST $(URI)/users?create=$(CREATE) +	 curl -X POST $(URI)/users?create=1  delete-blobs:  	 curl -X POST "$(URI)/blobs?action=delete"  create-blobs: -	 curl -X POST "$(URI)/blobs?action=create&size=10&amount=5000" +	 curl -X POST "$(URI)/blobs?action=create&size=$(SIZE)&amount=$(BLOBS)" diff --git a/scripts/scalability/test_controller/client/test_Blobs.py b/scripts/scalability/test_controller/client/test_Blobs.py index 5f31dbc8..1bcfc74e 100644 --- a/scripts/scalability/test_controller/client/test_Blobs.py +++ b/scripts/scalability/test_controller/client/test_Blobs.py @@ -37,21 +37,21 @@ def _ensure_template(templates_dir, size):  class Blobs(FunkLoadTestCase): -    next_user_id = 0 +    next_blob_id = 0      lock = threading.Lock() -    def _get_next_user_id(self): +    def _get_next_blob_id(self):          with Blobs.lock: -            user_id = Blobs.next_user_id -            Blobs.next_user_id += 1 -            Blobs.next_user_id %= 5000 -        return user_id +            blob_id = Blobs.next_blob_id +            Blobs.next_blob_id += 1 +            Blobs.next_blob_id %= 5000 +        return blob_id      def setUp(self): -        user_id = self._get_next_user_id() +        blob_id = self._get_next_blob_id()          base_url = self.conf_get('main', 'url') -        self.url = urlparse.urljoin(base_url, 'blobs/%s/0' % user_id) -        self.setHeader('Authorization', _get_auth_header(user_id)) +        self.url = urlparse.urljoin(base_url, 'blobs/0/%d' % blob_id) +        self.setHeader('Authorization', _get_auth_header('0'))          templates_dir = self.conf_get('main', 'templates_dir')          size = self.conf_getInt('main', 'size')          fpath = _ensure_template(templates_dir, size) diff --git a/scripts/scalability/test_controller/server/blobs.py b/scripts/scalability/test_controller/server/blobs.py index 2a60018d..2e68a12e 100644 --- a/scripts/scalability/test_controller/server/blobs.py +++ b/scripts/scalability/test_controller/server/blobs.py @@ -2,24 +2,28 @@  import shutil  import os -  from argparse import ArgumentParser - +from twisted.logger import Logger  from test_controller.utils import mkdir_p, payload +logger = Logger() +  def _create_blob(path, data): -    if not os.path.isfile(path): -        with open(path, 'w') as f: -            f.write(data) +    with open(path, 'w') as f: +        logger.info('Creating %s' % path) +        f.write(data)  def create_blobs(target_dir, amount, size): +    delete_blobs(target_dir)      data = payload(size * 1000)      for i in xrange(amount): -        basedir = os.path.join(target_dir, '%d/default/0/0/0' % i) +        istr = str(i) +        blob_dir = '%s/%s/%s' % (istr[0], istr[0:3], istr[0:6]) +        basedir = os.path.join(target_dir, '0/default/%s' % blob_dir)          mkdir_p(basedir) -        _create_blob(os.path.join(basedir, '0'), data) +        _create_blob(os.path.join(basedir, str(i)), data)  def delete_blobs(target_dir): @@ -28,6 +32,7 @@ def delete_blobs(target_dir):      for f in os.listdir(target_dir):          if f.isdigit():              directory = os.path.join(target_dir, f) +            logger.info('Deleting %s' % directory)              shutil.rmtree(directory)  | 
