0

我使用的是 cassandra 1.2.5,集群中有 4 个节点。每个节点都是 m1.large,系统内存为 8GB。对我们来说阅读会更多。我的列族中有 50,000 行。每当我尝试从该列族读取数据时,每次 node3 或 node4 cpu 使用率都很高。我已经为此提供了以下日志。

对于这个问题,我们能否将 LeveledCompactionStrategy 和 sstable_size_in_mb 的压缩策略设置为 10。这会有帮助吗?

有没有其他解决方案?

日志:

 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,660 StatusLogger.java (line 95) Cache Type                     Size                 Capacity               KeysToSave                                                         Provider
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,660 StatusLogger.java (line 96) KeyCache                   18523284                 52428800                      all      
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,661 StatusLogger.java (line 102) RowCache                          0               1073741824                      all              org.apache.cassandra.cache.SerializingCacheProvider
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,661 StatusLogger.java (line 109) ColumnFamily                Memtable ops,data
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,661 StatusLogger.java (line 112) system.local                              0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,661 StatusLogger.java (line 112) system.peers                          60,8040
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,662 StatusLogger.java (line 112) system.batchlog                           0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,671 StatusLogger.java (line 112) system.NodeIdInfo                         0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,671 StatusLogger.java (line 112) system.LocationInfo                       0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,671 StatusLogger.java (line 112) system.Schema                             0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,671 StatusLogger.java (line 112) system.Migrations                         0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,672 StatusLogger.java (line 112) system.schema_keyspaces                 8,251
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,672 StatusLogger.java (line 112) system.schema_columns               332,21903
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,672 StatusLogger.java (line 112) system.schema_columnfamilies           352,21775
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,672 StatusLogger.java (line 112) system.IndexInfo                          0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,672 StatusLogger.java (line 112) system.range_xfers                        0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,673 StatusLogger.java (line 112) system.peer_events                        0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,673 StatusLogger.java (line 112) system.hints                              0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,673 StatusLogger.java (line 112) system.HintsColumnFamily                  0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,673 StatusLogger.java (line 112) GEN_GEN.feedserver_dependentFeeds                 0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,673 StatusLogger.java (line 112) GEN_GEN.feedserver_componentName       18648,1048576
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,674 StatusLogger.java (line 112) GEN_GEN.feedserver_FeedScheduler      128952,2097152
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,739 StatusLogger.java (line 112) GEN_GEN.feedserver_feedType                 0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,739 StatusLogger.java (line 112) GEN_GEN.feedserver_itemDef                 0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,739 StatusLogger.java (line 112) GEN_GEN.feedserver_Feed         66629,2097152
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,740 StatusLogger.java (line 112) system_auth.users                         0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,740 StatusLogger.java (line 112) OpsCenter.events                          0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,740 StatusLogger.java (line 112) OpsCenter.rollups60                       0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,740 StatusLogger.java (line 112) OpsCenter.settings                        0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,740 StatusLogger.java (line 112) OpsCenter.pdps                            0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,741 StatusLogger.java (line 112) OpsCenter.rollups86400                    0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,741 StatusLogger.java (line 112) OpsCenter.events_timeline                 0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,741 StatusLogger.java (line 112) OpsCenter.rollups300                      0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,741 StatusLogger.java (line 112) OpsCenter.rollups7200                     0,0
 INFO [ScheduledTasks:1] 2013-07-25 12:59:04,741 StatusLogger.java (line 112) system_traces.sessions                    0,0
4

1 回答 1

1

如果您在读取过程中看到内存压力,那么您可能一次读取了太多行。跟踪请求可以更清楚地了解正在发生的事情:http ://www.datastax.com/dev/blog/tracing-in-cassandra-1-2

于 2013-07-25T16:04:14.127 回答