Scaling API-first – The story of a global engineering organization
Scaling to Millions of Concurrent SPARQL Queries on the Cloud
1. Sep 2010
Scaling to Millions of Concurrent SPARQL Queries on the Cloud OWLIM Replication Cluster @ Amazon EC2
2. Goals
• Test the scalability of OWLIM RC on a really large
cluster
• Can we break the million queries per hour barrier?
OWLIM Replication Cluster @ AWS Sep 2010 #2
4. Berlin SPARQL Benchmark (BSBM)
• http://www4.wiwiss.fu-berlin.
de/bizer/BerlinSPARQLBenchmark/results/
• Evaluates the performance of RDF query engines in
an e-commerce use case
– searching products and navigating related information
• Randomized query mixes (25 SPARQL queries) are
evaluated continuously
• Different dataset size & number of concurrent clients
– 25M, 100M and 200M triples
OWLIM Replication Cluster @ AWS Sep 2010 #4
5. Benchmarking AWS
• Extensive performance tests of EC2 instances
– I/O, CPU, Network
– BSBM (SPARQL), RDF materialisation
• High Memory EC2 instances offer (surprisingly) good
performance for RDF related processing
– Comparable to local non-virtualised hardware
OWLIM Replication Cluster @ AWS Sep 2010 #5
6. Benchmarking AWS – testbeds
OWLIM Replication Cluster @ AWS Sep 2010 #6
CPU cores RAM (GB) Virtualisation
Local-L 2×2.4 GHz 8 ESX
Local-XL 4×2.9 GHz 12 No
Local-3XL 8×3.3 GHz 48 No
L 2×2 ECU* 7.5 Xen
XL 4×2 ECU* 15 Xen
High-Mem XL 2×3.25 ECU* 17 Xen
High-Mem 2XL 4×3.25 ECU* 34 Xen
High-Mem 4XL 8×3.25 ECU* 68 Xen
High-CPU XL 8×2.5 ECU* 7 Xen
1 ECU provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor
9. OWLIM Replication Cluster
• Improves scalability with respect to concurrent user
requests
• How does it work?
– Each write request is multiplexed to all repository
instances
– Each read request is dispatched to one instance only
– To ensure load-balancing,
read requests are sent to the
instance with the shortest
execution queue
OWLIM Replication Cluster @ AWS Sep 2010 #9
19. Cluster monitoring
• Amazon CloudWatch provides instance level
monitoring for EC2
– CPU load, Bandwidth utilisation, I/O, …
– Minimum granularity of monitoring periods – 1 minute
• OWLIM Cluster metrics
– Monitor Master and a random Slave for ~180 min
– Many test runs
• a single run takes a few minutes
– Idle CPU/IO/Network on diagram is the time between test
runs
OWLIM Replication Cluster @ AWS Sep 2010 #19