2016-03-03 29 views

回答

0

aql> SHOW SETS会给你在你的对象集的数量,与列n_objects

然后,您可以使用n_objects值来计算你的平均

0

类似SQL的聚合函数在Aerospike中使用stream UDFs实现,这些编写在Lua中。流UDF是一个map-reduce操作,该操作应用于从扫描或secondary index查询返回的记录流。

流UDF模块(让我们假设它包含在文件aggr_funcs.lua中)将通过返回1为它看到的每个记录实现COUNT(*),并减少到一个聚合的整数值。

local function one(record) 
    return 1 
end 

local function sum(v1, v2) 
    return v1 + v2 
end 

function count_star(stream) 
    return stream : map(one) : reduce(sum) 
end 

你会register the UDF module与服务器,然后调用它。这里有一个如何你在使用Python aerospike.Query.apply做一个例子:

import aerospike 
from aerospike import predicates as p 

config = {'hosts': [('127.0.0.1', 3000)], 
      'lua': {'system_path':'/usr/local/aerospike/lua/', 
        'user_path':'/usr/local/aerospike/usr-lua/'}} 
client = aerospike.client(config).connect() 

query = client.query('test', 'demo') 
#query.where(p.between('my_val', 1, 9)) optionally use a WHERE predicate 
query.apply('aggr_funcs', 'count_star') 
num_records = query.results() 
client.close() 

但是,你应该得到metrics如使用info command对象的数量。塞具有所使用的命令行工具,如asinfoAMC仪表盘,以及语言的客户端的info方法的信息子系统。

要获取的对象的数量集群中:

asinfo -h 33.33.33.91 -v 'objects' 
23773 

您也可以在特定的命名空间中的对象的数量。我有一个双节点群集,我会询问每个人:

asinfo -h 33.33.33.91 -v 'namespace/test' 
type=device;objects=23773;sub-objects=0;master-objects=12274;master-sub-objects=0;prole-objects=11499;prole-sub-objects=0;expired-objects=0;evicted-objects=0;set-deleted-objects=0;nsup-cycle-duration=0;nsup-cycle-sleep-pct=0;used-bytes-memory=2139672;data-used-bytes-memory=618200;index-used-bytes-memory=1521472;sindex-used-bytes-memory=0;free-pct-memory=99;max-void-time=202176396;non-expirable-objects=0;current-time=201744558;stop-writes=false;hwm-breached=false;available-bin-names=32765;used-bytes-disk=6085888;free-pct-disk=99;available_pct=99;memory-size=2147483648;high-water-disk-pct=50;high-water-memory-pct=60;evict-tenths-pct=5;evict-hist-buckets=10000;stop-writes-pct=90;cold-start-evict-ttl=4294967295;repl-factor=2;default-ttl=432000;max-ttl=0;conflict-resolution-policy=generation;single-bin=false;ldt-enabled=false;ldt-page-size=8192;enable-xdr=false;sets-enable-xdr=true;ns-forward-xdr-writes=false;allow-nonxdr-writes=true;allow-xdr-writes=true;disallow-null-setname=false;total-bytes-memory=2147483648;read-consistency-level-override=off;write-commit-level-override=off;migrate-order=5;migrate-sleep=1;migrate-tx-partitions-initial=4096;migrate-tx-partitions-remaining=0;migrate-rx-partitions-initial=4096;migrate-rx-partitions-remaining=0;migrate-tx-partitions-imbalance=0;total-bytes-disk=8589934592;defrag-lwm-pct=50;defrag-queue-min=0;defrag-sleep=1000;defrag-startup-minimum=10;flush-max-ms=1000;fsync-max-sec=0;max-write-cache=67108864;min-avail-pct=5;post-write-queue=0;data-in-memory=true;file=/opt/aerospike/data/test.dat;filesize=8589934592;writethreads=1;writecache=67108864;obj-size-hist-max=100 

asinfo -h 33.33.33.92 -v 'namespace/test' 
type=device;objects=23773;sub-objects=0;master-objects=11499;master-sub-objects=0;prole-objects=12274;prole-sub-objects=0;expired-objects=0;evicted-objects=0;set-deleted-objects=0;nsup-cycle-duration=0;nsup-cycle-sleep-pct=0;used-bytes-memory=2139672;data-used-bytes-memory=618200;index-used-bytes-memory=1521472;sindex-used-bytes-memory=0;free-pct-memory=99;max-void-time=202176396;non-expirable-objects=0;current-time=201744578;stop-writes=false;hwm-breached=false;available-bin-names=32765;used-bytes-disk=6085888;free-pct-disk=99;available_pct=99;memory-size=2147483648;high-water-disk-pct=50;high-water-memory-pct=60;evict-tenths-pct=5;evict-hist-buckets=10000;stop-writes-pct=90;cold-start-evict-ttl=4294967295;repl-factor=2;default-ttl=432000;max-ttl=0;conflict-resolution-policy=generation;single-bin=false;ldt-enabled=false;ldt-page-size=8192;enable-xdr=false;sets-enable-xdr=true;ns-forward-xdr-writes=false;allow-nonxdr-writes=true;allow-xdr-writes=true;disallow-null-setname=false;total-bytes-memory=2147483648;read-consistency-level-override=off;write-commit-level-override=off;migrate-order=5;migrate-sleep=1;migrate-tx-partitions-initial=4096;migrate-tx-partitions-remaining=0;migrate-rx-partitions-initial=4096;migrate-rx-partitions-remaining=0;migrate-tx-partitions-imbalance=0;total-bytes-disk=8589934592;defrag-lwm-pct=50;defrag-queue-min=0;defrag-sleep=1000;defrag-startup-minimum=10;flush-max-ms=1000;fsync-max-sec=0;max-write-cache=67108864;min-avail-pct=5;post-write-queue=0;data-in-memory=true;file=/opt/aerospike/data/test.dat;filesize=8589934592;writethreads=1;writecache=67108864;obj-size-hist-max=100 

注意的master-objects在每个节点的值一起加起来群集范围objects值。

要获取对象的数量在一组:

asinfo -h 33.33.33.91 -v 'sets/test/demo' 
n_objects=23771:n-bytes-memory=618046:stop-writes-count=0:set-enable-xdr=use-default:disable-eviction=false:set-delete=false;