Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
Overview

...

  1. Single server

    1. Hardware

      1. Ubuntu 14.04.3 LTS (trusty)
      2. 1 x Intel(R) Xeon(R) CPU E5-1630 v3 @ 3.70GHz
      3. 64Gb memory
      4. disk SATA 200Gb, cache read: 11641.27 MB/sec, buffered: 56.08 MB/sec
    2. Software

      1. Nuxeo CAP 6.0

        1. Jvm options: JAVA_OPTS=-Xms1024m -Xmx2048m  -Dfile.encoding=UTF-8 -Dmail.mime.decodeparameters=true -Djava.util.Arrays.useLegacyMergeSort=true  -Xloggc:${nuxeo.log.dir}/gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps

        2. JMX activated for Monitoring (only for benchmark with debugging for health constants)

        3. ACLOptimization = false (only for benchmark)

        4. Full-indexing = false (only for benchmark)
        5. NX-Quota = true
      2. PostgreSQL

        1. (PostgreSQL) 9.3.9

        2. postgresql-9.2-1002.jdbc4.jar 

        3. pg_clt options Empty(changed into postgresql.conf)
          1. default
          1. configuration from Nuxeo benchmark: --effective_cache_size=16GB --shared_buffers=10GB --max_prepared_transactions=128 --work_mem=64MB --maintenance_work_mem=1GB --wal_buffers=24MB --checkpoint_completion_target=0.8 --checkpoint_segments=32 --checkpoint_timeout=15min --default_text_search_config=pg_catalog.french --fsync=off --full_page_writes=off --log_min_duration_statement=80ms --log_rotation_size=100MB --synchronous_commit=off --track_activities=on --track_counts=on --log_line_prefix='%t [%p]: [%l-1] ' --port=5436 --max_connections=64 --random_page_cost=2
        4. Analysis: https://wiki.postgresql.org/wiki/Performance_Analysis_Tools
    3. Tools

      1. JMeter 2.13 to make stress test: GUI & REST (source: nuxeo-bench-jmeter.jmx)

        1. Memory: -Xms=1g -Xmx=2g

      2. jvisualvm to monitoring JVM

      3.  powa (http://dalibo.github.io/powa/) to monitoring PostgreSQL

...

Transactions per second

Hits per second

Response time vs Threads

Image Removed Image Removed Image Removed 
40/90/30

Transactions per second

Hits per second

Response time vs Threads

Image Removed Image Removed Image Removed 
50/120/50

 

Transactions per second

Hits per second

Response time vs Threads

Image Removed Image Removed Image Removed 


Postgres Read/Write
Query per secondBlocks per second
Image Removed Image Removed 


Configuration b)

    • PostgresSQL with pg_ctl options = '--effective_cache_size=16GB --shared_buffers=10GB --max_prepared_transactions=128 --work_mem=64MB --maintenance_work_mem=1GB --wal_buffers=24MB --checkpoint_completion_target=0.8 --checkpoint_segments=32 --checkpoint_timeout=15min --default_text_search_config=pg_catalog.spanish --fsync=off --full_page_writes=off --log_min_duration_statement=80ms --log_rotation_size=100MB --synchronous_commit=off --track_activities=on --track_counts=on --log_line_prefix='%t [%p]: [%l-1] ' --port=5433 --max_connections=64 --random_page_cost=2'
    • ACL optimization = false
    • full-text indexation = false
    • Quota-active = false

...

Transactions per second

Hits per second

Response time vs Threads

Image Removed Image Removed Image Removed 
40/90/30

Transactions per second

Hits per second

Response time vs Threads

Image Removed Image Removed Image Removed 
50/120/50

 

Transactions per second

Hits per second

Response time vs Threads

Image Removed Image Removed Image Removed 

 

Postgres Read/Write
Query per secondBlocks per second
Image Removed Image Removed 

 

 

Scenario 2: Document creation (REST API with automation)

...

Transactions per second

Transaction throughput vs Threads

Hits per second

Response time vs Threads

50/120/50

 

Transactions per second

Transaction throughput vs Threads

Hits per second

Response time vs Threads

...