Hi, 

I have created the cache tier using the following commands: 

95 ceph osd pool create cache-pool-ssd 2048 2048 ; ceph osd pool set 
cache-pool-ssd crush_ruleset 4 
124 ceph osd pool set cache-pool-ssd size 2 
126 ceph osd pool set cache-pool-ssd min_size 1 
130 ceph osd tier add Primary-ubuntu-1 cache-pool-ssd 
131 ceph osd tier cache-mode cache-pool-ssd writeback 
132 ceph osd tier set-overlay Primary-ubuntu-1 cache-pool-ssd 
135 ceph osd pool set cache-pool-ssd hit_set_type bloom 
136 ceph osd pool set cache-pool-ssd hit_set_count 1 
137 ceph osd pool set cache-pool-ssd hit_set_period 3600 
138 ceph osd pool set cache-pool-ssd target_max_bytes 500000000000 
143 ceph osd pool set cache-pool-ssd cache_target_full_ratio 0.8 


SInce the initial install i've increased the target_max_bytes to 800GB. The 
rest of the settings are left as default. 

Did I miss something that might explain the behaviour that i am experiencing? 

Cheers 

Andrei 


----- Original Message -----

From: "Xiaoxi Chen" <xiaoxi.c...@intel.com> 
To: "Andrei Mikhailovsky" <and...@arhont.com>, "ceph-users" 
<ceph-users@lists.ceph.com> 
Sent: Thursday, 11 September, 2014 2:00:31 AM 
Subject: RE: Cache Pool writing too much on ssds, poor performance? 



Could you show your cache tiering configuration? Especially this three 
parameters. 

ceph osd pool set hot-storage cache_target_dirty_ratio 0.4 ceph osd pool set 
hot-storage cache_target_full_ratio 0.8 ceph osd pool set {cachepool} 
target_max_bytes {#bytes} 




From: ceph-users [mailto:ceph-users-boun...@lists.ceph.com] On Behalf Of Andrei 
Mikhailovsky 
Sent: Wednesday, September 10, 2014 8:51 PM 
To: ceph-users 
Subject: [ceph-users] Cache Pool writing too much on ssds, poor performance? 



Hello guys, 

I am experimeting with cache pool and running some tests to see how adding the 
cache pool improves the overall performance of our small cluster. 

While doing testing I've noticed that it seems that the cache pool is writing 
too much on the cache pool ssds. Not sure what the issue here, perhaps someone 
could help me understand what is going on. 

My test cluster is: 
2 x OSD servers (Each server has: 24GB ram, 12 cores, 8 hdd osds, 2 ssds 
journals, 2 ssds for cache pool, 40gbit/s infiniband network capable of 
25gbit/s over ipoib). Cache pool is set to 500GB with replica of 2. 
4 x host servers (128GB ram, 24 core, 40gbit/s infiniband network capable of 
12gbit/s over ipoib) 

So, my test is: 
Simple tests using the following command: "dd if=/dev/vda of=/dev/null bs=4M 
count=2000 iflag=direct". I am concurrently starting this command on 10 virtual 
machines which are running on 4 host servers. The aim is to monitor the use of 
cache pool when reading the same data over and over again. 


Running the above command for the first time does what I was expecting. The 
osds are doing a lot of reads, the cache pool does a lot of writes (around 
250-300MB/s per ssd disk) and no reads. The dd results for the guest vms are 
poor. The results of the "ceph -w" shows consistent performance across the 
time. 

Running the above for the second and consequent times produces IO patterns 
which I was not expecting at all. The hdd osds are not doing much (this part I 
expected), the cache pool still does a lot of writes and very little reads! The 
dd results have improved just a little, but not much. The results of the "ceph 
-w" shows performance breaks over time. For instance, I have a peak of 
throughput in the first couple of seconds (data is probably coming from the osd 
server's ram at high rate). After the peak throughput has finished, the ceph 
reads are done in the following way: 2-3 seconds of activity followed by 2 
seconds if inactivity) and it keeps doing that throughout the length of the 
test. So, to put the numbers in perspective, when running tests over and over 
again I would get around 2000 - 3000MB/s for the first two seconds, followed by 
0MB/s for the next two seconds, followed by around 150-250MB/s over 2-3 
seconds, followed by 0MB/s for 2 seconds, followed 150-250MB/s over 2-3 
seconds, followed by 0MB/s over 2 secods, and the pattern repeats until the 
test is done. 


I kept running the dd command for about 15-20 times and observed the same 
behariour. The cache pool does mainly writes (around 200MB/s per ssd) when 
guest vms are reading the same data over and over again. There is very little 
read IO (around 20-40MB/s). Why am I not getting high read IO? I have expected 
the 80GB of data that is being read from the vms over and over again to be 
firmly recognised as the hot data and kept in the cache pool and read from it 
when guest vms request the data. Instead, I mainly get writes on the cache pool 
ssds and I am not really sure where these writes are coming from as my hdd osds 
are being pretty idle. 

>From the overall tests so far, introducing the cache pool has drastically 
>slowed down my cluster (by as much as 50-60%). 

Thanks for any help 

Andrei 
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to