How to Troubleshoot Apps for the Modern Connected Worker
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