Is there anything specific you'd like to work on or improve? I see numbers, but that doesn't really mean anything. For example, do you have more heap that the size of those regions? If not, it may be garbage collecting like mad? Are the machines swapping? Is the CPU even contented? How many machines do you have? (please don't answer, those are just examples of reasons why a back and forth on the mailing list is probably going to take a long time and get us nowhere)
If you are just trying to get better throughput for the sake of it, then you should probably look around the documentation (like the FAQ) and search the mailing for advices. Look at what's happening in the region server logs and try to see where it's blocking, it's usually pretty obvious. Also try using the most recent HBase version. If you're trying to see how fast you can import your data set (providing that you have one), then instead of a 100% writes YCSB I would recommend instead using HFOF: http://hbase.apache.org/docs/r0.89.20100726/bulk-loads.html J-D On Thu, Sep 9, 2010 at 9:47 PM, Tao Xie <xietao.mail...@gmail.com> wrote: > You mean "hbase.hregion.max.filesize", I set it to 2G. But I see more > waiting time and lower ops. I have no real use case for intensive write. I > just use YCSB to do a performance test. > > 2010-09-10 11:20:42,796 332 sec: 2437024 operations; 7509.85 current > ops/sec; [INSERT AverageLatency(ms)=35.09] > 2010-09-10 11:20:52,801 342 sec: 2437024 operations; 0 current ops/sec; > 2010-09-10 11:21:02,806 352 sec: 2441720 operations; 469.37 current > ops/sec; [INSERT AverageLatency(ms)=21.37] > 2010-09-10 11:21:12,807 362 sec: 2451112 operations; 939.11 current > ops/sec; [INSERT AverageLatency(ms)=40.12] > 2010-09-10 11:21:22,809 372 sec: 2569586 operations; 11845.03 current > ops/sec; [INSERT AverageLatency(ms)=31.16] > 2010-09-10 11:21:32,811 382 sec: 2714088 operations; 14447.31 current > ops/sec; [INSERT AverageLatency(ms)=33.44] > 2010-09-10 11:21:42,814 392 sec: 2718784 operations; 469.46 current > ops/sec; [INSERT AverageLatency(ms)=34.64] > 2010-09-10 11:21:52,815 402 sec: 2779832 operations; 6104.19 current > ops/sec; [INSERT AverageLatency(ms)=36.46] > 2010-09-10 11:22:02,817 412 sec: 2930104 operations; 15024.2 current > ops/sec; [INSERT AverageLatency(ms)=38.77] > 2010-09-10 11:22:12,819 422 sec: 3009936 operations; 7981.6 current > ops/sec; [INSERT AverageLatency(ms)=43.41] > 2010-09-10 11:22:22,821 432 sec: 3009936 operations; 0 current ops/sec; > 2010-09-10 11:22:32,823 442 sec: 3009936 operations; 0 current ops/sec; > 2010-09-10 11:22:42,825 452 sec: 3144094 operations; 13413.12 current > ops/sec; [INSERT AverageLatency(ms)=56.82] > 2010-09-10 11:22:52,827 462 sec: 3310480 operations; 16635.27 current > ops/sec; [INSERT AverageLatency(ms)=34.46] > 2010-09-10 11:23:02,829 472 sec: 3338656 operations; 2817.04 current > ops/sec; [INSERT AverageLatency(ms)=20.91] > 2010-09-10 11:23:12,831 482 sec: 3338656 operations; 0 current ops/sec; > 2010-09-10 11:23:22,832 492 sec: 3438535 operations; 9986.9 current > ops/sec; [INSERT AverageLatency(ms)=26.74] > 2010-09-10 11:23:35,600 505 sec: 3566729 operations; 10040.26 current > ops/sec; [INSERT AverageLatency(ms)=27.53] > 2010-09-10 11:23:45,601 515 sec: 3620416 operations; 5368.16 current > ops/sec; [INSERT AverageLatency(ms)=48.66] > 2010-09-10 11:23:55,603 525 sec: 3620416 operations; 0 current ops/sec; > 2010-09-10 11:24:05,605 535 sec: 3620416 operations; 0 current ops/sec; > 2010-09-10 11:24:15,607 545 sec: 3648592 operations; 2817.04 current > ops/sec; [INSERT AverageLatency(ms)=52.15] > > 2010/9/10 Jean-Daniel Cryans <jdcry...@apache.org> > >> If you have a very heavy write load (like YCSB when only inserting), >> then you really have to tune HBase for that kind of workload since >> it's not the "normal" use case. Setting MAX_FILESIZE really high >> (1-2GB) and even pre-splitting the table when creating it (available >> in 0.89) will help. >> >> Most of the time spent waiting is due to splitting and blocking due to >> either MemStores growing over their max size and the global MemStore >> size limit being reached. It's kinda rough and could probably be >> "smoother", but do you really have a use case that requires it or just >> poking? >> >> J-D >> >> On Thu, Sep 9, 2010 at 7:32 PM, Tao Xie <xietao.mail...@gmail.com> wrote: >> > hi, all >> > I use YCSB to measure the insert/read latency of hbase. >> > I found there will be 0 records inserted in up to 10 seconds during the >> > insertion procedure. >> > See the following result at 1514 second. I want to know why this occurs. >> Is >> > this due to compaction? >> > And I also want to know why the ops/sec varies all the time. Seems no a >> > stable time. >> > Thanks. >> > >> > 2010-09-10 00:07:29,608 1484 sec: 28786280 operations; 23475.3 current >> > ops/sec; [INSERT AverageLatency(ms)=8.81] >> > 2010-09-10 00:07:39,610 1494 sec: 28842632 operations; 5634.07 current >> > ops/sec; [INSERT AverageLatency(ms)=6.68] >> > 2010-09-10 00:07:49,612 1504 sec: 28964728 operations; 12207.16 current >> > ops/sec; [INSERT AverageLatency(ms)=7.68] >> > 2010-09-10 00:07:59,614 1514 sec: 28964728 operations; 0 current >> ops/sec; >> > 2010-09-10 00:08:10,778 1525 sec: 29130475 operations; 14846.56 current >> > ops/sec; [INSERT AverageLatency(ms)=24.45] >> > 2010-09-10 00:08:20,782 1535 sec: 29606967 operations; 47630.15 current >> > ops/sec; [INSERT AverageLatency(ms)=12.64] >> > 2010-09-10 00:08:30,784 1545 sec: 29908624 operations; 30159.67 current >> > ops/sec; [INSERT AverageLatency(ms)=0.12] >> > 2010-09-10 00:08:40,786 1555 sec: 30016632 operations; 10798.64 current >> > ops/sec; [INSERT AverageLatency(ms)=5.66] >> > >> >