2016-03-03 33 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;