perfsonar-dev - Lookup Service performance benchmarking - next test
Subject: perfsonar development work
List archive
- From: Maciej Glowiak <>
- To: Jason Zurawski <>, Jeff Boote <>
- Cc: Perfsonar Development List <>
- Subject: Lookup Service performance benchmarking - next test
- Date: Mon, 02 Oct 2006 10:37:56 +0200
- Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA CXBIWXMAAEU1AABFNQF8gVf5AAAAB3RJTUUH1QYQDjo6uEWvwgAAAM5JREFUGNNN0LFqAkEUheGj KRZsfATrvENgYyH4APabxwgWGUUQC99BsNDCInUq7VImbbDZ0kayxBXMuN7jvTuKVh//mZlmQKZ1 EhQ8GAVgZECspEBdWQHRjR70KlgFKkoUaCw3ijSYQ4n5HfBK4a4jDcdDQPol/80Sr9BxZOOL4Fmr Jq8VBx7eopaSPvWGOm67fqol3j1q0XNs7Nk2cs6MU6gPNzf+ZGKQX4Ek8H6rAnFZnXB2vJxJcv8g C2P+WzL4tD+Txc4KydrIkh+eAdo01QbjQ84vAAAAAElFTkSuQmCC
- Organization: Poznan Supercomputing and Networking Center
Hi,
After our last discussion about two options of storing/retrieving data in/from LS I made some additional query test.
Basically we had two options:
1. use one XML file in the collection
- very slow modifications
2. use of separate XML files for each Lookup Information
- fast insert/remove
We discussed that opt.2 may slow down queries, so I decided to make an additional test.
With Jeff's script I generated 10 Lookup Information of MA each collecting 100 interfaces. Then I merged them one common file containing these 10 Lookup Information.
First I put one, large file into LS collection and run query:
===========================================================================
for $m in /nmwg:store/nmwg:metadata
let $s := $m/perfsonar:subject/psservice:service
let $accessPoint := $s/psservice:accessPoint
let $d :=
/nmwg:store/nmwg:data[@metadataIdRef=data($m/@id)]
let $datas :=
for $i in $d
return <ifAddress>
{$i/nmwg:metadata//nmwgt:ifAddress/text()}
</ifAddress>
where contains($s/psservice:serviceType,'MA')
and $datas != ''
return <service>
<accessPoint>
{data($accessPoint)}
</accessPoint>
{$datas}
</service>
===========================================================================
that browses all services and returns a structure of accessPoint and stored interfaces addresses, something like this:
===========================================================================
<service>
<accessPoint>http://....</accessPoint>
<ifAddress>150.254.161.194</ifAddress>
<ifAddress>150.254.162.195</ifAddress>
<ifAddress>150.254.163.196</ifAddress>
</service>
===========================================================================
Then I did the same with separate files (results were exactly the same of course):
-----------------+--------------------+-----------------------
| 1 large file | 10 separate files
-----------------+--------------------+-----------------------
size | 970 KB | 10 * 97 KB
-----------------+--------------------+-----------------------
results | 1178 | 392
of several | 1191 | 391
tests | 1213 | 394
(ms) | 1179 | 397
| 1183 | 391
-----------------+--------------------+-----------------------
average | 1189 | 393
-----------------+--------------------+-----------------------
score | 3 | 1
-----------------+--------------------+-----------------------
So, we thought the query operation would slow down with separate files, but the test shows that using separate files may speed up query time even 3 times !!!
It's promising.
Maciej
--
--------------------------------------------------------------------
| Maciej Glowiak Network Research and Development ||
|
Poznan Supercomputing and Networking Center ||
| (+48 61) 858 2024 http://monstera.man.poznan.pl/ ||
====================================================================
- Lookup Service performance benchmarking - next test, Maciej Glowiak, 10/02/2006
Archive powered by MHonArc 2.6.16.