Slow Azure Table Search and Insert Operations on small tables -


i trying benchmark search/read & insert queries on ats small size(500 entities). average insert time 400ms , average search + retrieve time 190ms.

when inserting, querying on partition key , condition composed of 1 predicate : [partitionkey] eq <value> (no more ands/ors). also, returning 1 property.

what reason such results?

search code:

tablequery<dynamictableentity> projectionquery = new tablequery<dynamictableentity>().select(new string[] { "state" });         projectionquery.where(tablequery.generatefiltercondition("partitionkey", querycomparisons.equal, "" + msg.partitionkey));         // define entity resolver work entity after retrieval.         entityresolver<bool?> resolver = (pk, rk, ts, props, etag) => props.containskey("state") ? (props["state"].booleanvalue) : null;         stopwatch sw = new stopwatch();         sw.start();         list<bool?> slist = table.executequery(projectionquery, resolver, null, null).tolist();         sw.stop(); 

insert code:

cloudtable table = tableclient.gettablereference("messages");         tableoperation insertoperation = tableoperation.insert(msg);         stopwatch sw = new stopwatch();         // execute insert operation.         sw.start();         table.execute(insertoperation);         sw.stop(); 

you can refer post possible performance issues: microsoft azure storage performance , scalability checklist.

the reason why can 1 property you're using entityresolver, please try remove that. refer windows azure storage client library 2.0 tables deep dive usage of entityresolver - when should use , how use correctly.


Comments

Popular posts from this blog

facebook - android ACTION_SEND to share with specific application only -

python - Creating a new virtualenv gives a permissions error -

javascript - cocos2d-js draw circle not instantly -