- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们已经安装了 mariadb 和 columnstore 引擎,从过去几周开始,我们面临内存阻塞问题,内存阻塞和我们所有的 DML/DDL 操作都卡住了,在重新启动服务后它得到修复。
below are the stats :
total used free shared buff/cache available
Mem: 15 2 7 0 5 12
Swap: 4 0 4
[mysqld]
port = 3306
socket = /opt/evolv/mariadb/columnstore/mysql/lib/mysql/mysql.sock
datadir = /opt/evolv/mariadb/columnstore/mysql/db
skip-external-locking
key_buffer_size = 512M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 64M
read_buffer_size = 64M
read_rnd_buffer_size = 512M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 0
# Try number of CPU's*2 for thread_concurrency
#thread_concurrency = 8
thread_stack = 512K
lower_case_table_names=1
group_concat_max_len=512
infinidb_use_import_for_batchinsert=1
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 8192M
#innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 100M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
最佳答案
这是对VARIABLES
和(可疑的)GLOBAL STATUS
的分析;没有什么令人兴奋的:
观察:
更重要的问题:
正常运行时间 = 03:04:25;请在数小时后重新运行 SHOW GLOBAL STATUS。
您确定这是 SHOW GLOBAL STATUS 吗?
key_buffer_size
过大 (3G)。如果您不需要任何 MyISAM,请将其设置为 50M。
检查 infinidb_um_mem_limit
以查看它是否对您的应用有意义。
建议将 innodb_buffer_pool_size
降低到 2G,直到“窒息”被弄清楚。
细节和其他观察结果:( (key_buffer_size - 1.2 * Key_blocks_used * 1024)/_ram ) = (3072M - 1.2 * 0 * 1024)/15360M = 20.0%
-- key_buffer 中浪费的 RAM 百分比。-- 减小 key_buffer_size。
( Key_blocks_used * 1024/key_buffer_size ) = 0 * 1024/3072M = 0
-- 使用的 key_buffer 百分比。高水位线。-- 降低 key_buffer_size 以避免不必要的内存使用。
( innodb_buffer_pool_size/_ram ) = 6144M/15360M = 40.0%
-- 用于 InnoDB buffer_pool 的 RAM 百分比
( Innodb_buffer_pool_pages_free * 16384/innodb_buffer_pool_size ) = 392,768 * 16384/6144M = 99.9%
-- 缓冲池空闲
( innodb_print_all_deadlocks ) = innodb_print_all_deadlocks = OFF
-- 是否记录所有死锁。-- 如果您为死锁所困扰,请打开它。注意:如果有很多死锁,这可能会向磁盘写入大量内容。
(local_infile) = local_infile = ON
-- local_infile = ON 是一个潜在的安全问题
( expire_logs_days ) = 0
-- 多长时间自动清除 binlog(这么多天后)-- 太大(或零)= 占用磁盘空间;太小 = 需要快速响应网络/机器崩溃。(如果 log_bin = OFF 则不相关)
( long_query_time ) = 5
-- 定义“慢”查询的截止时间(秒)。-- 建议 2
异常大:
read_buffer_size = 32MB
Acl_database_grants = 780
Acl_proxy_users = 4
Acl_users = 281
Columstore.xml
95% 的内存??
<MemoryCheckPercent>95</MemoryCheckPercent> <!-- Max real memory to limit growth of buffers to -->
<DataFileLog>OFF</DataFileLog>
我想这不相关,因为它被注释掉了??
<!-- enable if you want to limit how much memory may be used for hdfs read/write memory buffers.
<hdfsRdwrBufferMaxSize>8G</hdfsRdwrBufferMaxSize>
-->
请记住,除了 Columnstore 之外,MySQL 正在消耗大量内存:
<TotalUmMemory>25%</TotalUmMemory>
<TotalPmUmMemory>10%</TotalPmUmMemory>
关于mysql - MariaDB/Columnstore 引擎内存阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52994610/
我们已经安装了 mariadb 和 columnstore 引擎,从过去几周开始,我们面临内存阻塞问题,内存阻塞和我们所有的 DML/DDL 操作都卡住了,在重新启动服务后它得到修复。 below a
我正在尝试使用 Mariadb 列存储,但在将数据插入到定义了自动增量列的表中时遇到了一些错误。 使用 JDBC 驱动程序时会出现此问题。 CREATE TABLE schema.mytable (
我在 MariaDB 的 ColumnStore 上发现的每一项分析都声称它使用的磁盘空间比 InnoDB 等常规引擎少,例如:https://www.percona.com/blog/2017/03
我想知道我将如何创建我的表或选择一个插入以确保我不会得到重复的值。 create table test.dbo.test product, time, primary key(product, tim
我们可以使用 AggregatedMergeTree 表引擎,它可用于聚合行。 通常在聚合数据中,我们对存储所有唯一标识符不感兴趣,但仍希望进行不同的计数。我们仍然希望能够进行另一次聚合以在之后获得这
我在测试 sql server 2012 的 columnstore 索引功能时很开心。因为你不能更新/插入带有此类索引的表,所以我阅读了一些选项:保留一个单独的表并为每个批量插入或使用一个新分区禁用
我有一个在 DW 中使用的表。这将非常适合Clustered ColumnStore Indexing。 但是,我真的很想最大限度地提高查询的性能,因此我想制定一个特定的聚类顺序,因为我知道我的大部分
这个让我难住了。我有一个维度表,其中包含大约 3000 万行。它是一个聚集列存储。此外,此表在其代理键上具有 INT 类型的主键约束。 检索代理键的 MIN() 的查询,对于给定的日期范围,如下所示:
我正在尝试通过 flume 将使用聚集列存储索引的 DWH SQL Server 表中的数据导入到 kudu 中。但是,在我的自定义 flume 源从数据库中检索一定数量的行后,出现以下异常: Sql
列存储索引的好处之一是单个列的数据“在磁盘上彼此相邻”存储。这代表更好的压缩和更快的读取时间。 然而;当使用 B 树(常规的非聚集索引)时,那棵树的叶子不是数据本身吗?因此,当我在 A 列上创建索引时
我是一名优秀的程序员,十分优秀!