cassandra的读速度为什么这么慢?

fykhlp 发布于 2012/08/09 21:48
阅读 2K+
收藏 0

我首先写入一行数据,这一行有个super column,写入就是往super column里面插入1000条数据,每条数据都是64 KB大小。写入的速度大概是3秒,我不知道这个写入速度对比其它数据库的速度怎么样,我反正还比较满意。

但是当我读取数据的时候,问题就来了。我尝试读取固定的100条数据,居然要18秒甚至30秒,你没看错,单位是秒。而且我每次读数据时,cassandra占用的内存就上升到1G多,要知道这数据库里只有我前面插入的1000条数据啊。

我用的hector的createSubColumnQuery进行的查询,集群只有一台节点,其它配置都是默认配置。其它运行环境我不列了,我觉得这种几十秒的查询速度和这些都没关系,估计是我哪里没配置好。

我哪里搞错了?

 

下面是一点日志,我觉得可疑的(有一段时间一直在GC FOR PARNEW):

INFO [ScheduledTasks:1] 2012-08-09 20:37:50,770 GCInspector.java (line 122) GC for ParNew: 1310 ms for 1 collections, 288168160 used; max is 1070399488

 INFO [ScheduledTasks:1] 2012-08-09 20:37:56,770 StatusLogger.java (line 50) Pool Name                    Active   Pending   Blocked

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,208 StatusLogger.java (line 65) ReadStage                         1         1         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,317 StatusLogger.java (line 65) RequestResponseStage              0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,317 StatusLogger.java (line 65) ReadRepairStage                   0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,317 StatusLogger.java (line 65) MutationStage                     0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,333 StatusLogger.java (line 65) ReplicateOnWriteStage             0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,379 StatusLogger.java (line 65) GossipStage                       0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,379 StatusLogger.java (line 65) AntiEntropyStage                  0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,379 StatusLogger.java (line 65) MigrationStage                    0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,379 StatusLogger.java (line 65) StreamStage                       0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,442 StatusLogger.java (line 65) MemtablePostFlusher               0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,442 StatusLogger.java (line 65) FlushWriter                       0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,442 StatusLogger.java (line 65) MiscStage                         0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,442 StatusLogger.java (line 65) InternalResponseStage             0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:58,442 StatusLogger.java (line 65) HintedHandoff                     0         0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:59,114 StatusLogger.java (line 70) CompactionManager                 0         0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:59,176 StatusLogger.java (line 82) MessagingService                n/a       0,0

 INFO [ScheduledTasks:1] 2012-08-09 20:37:59,176 StatusLogger.java (line 86) ColumnFamily                Memtable ops,data  Row cache size/cap  Key cache size/cap

 INFO [ScheduledTasks:1] 2012-08-09 20:37:59,223 StatusLogger.java (line 89) system.NodeIdInfo                         0,0                 0/0                 0/1

 INFO [ScheduledTasks:1] 2012-08-09 20:38:00,270 StatusLogger.java (line 89) system.IndexInfo                          0,0                 0/0                 0/1

 INFO [ScheduledTasks:1] 2012-08-09 20:38:00,333 StatusLogger.java (line 89) system.LocationInfo                       0,0                 0/0                 3/3

 INFO [ScheduledTasks:1] 2012-08-09 20:38:00,333 StatusLogger.java (line 89) system.Versions                         3,103                 0/0                 0/1

 INFO [ScheduledTasks:1] 2012-08-09 20:38:00,364 StatusLogger.java (line 89) system.Migrations                         0,0                 0/0                 0/2

 INFO [ScheduledTasks:1] 2012-08-09 20:38:00,379 StatusLogger.java (line 89) system.HintsColumnFamily                  0,0                 0/0                 0/1

 INFO [ScheduledTasks:1] 2012-08-09 20:38:00,426 StatusLogger.java (line 89) system.Schema                             0,0                 0/0                 0/2

 INFO [ScheduledTasks:1] 2012-08-09 20:38:00,426 StatusLogger.java (line 89) fyk.file_list                    371,30400667                 0/0            1/200000

 

就是这样,不断的GC。

 

加载中
返回顶部
顶部