centos MariaDB存储增加

xxls0lw8  于 2022-11-07  发布在  其他
关注(0)|答案(1)|浏览(115)

linux and db's names我们遇到了mariadb存储的问题。我们有centos 8和监控系统,mariadb作为数据库系统。在创建linux机器时,我们给了它120 gb,但在将节点添加到监控系统后,空间已满。因此,我们将linux根空间增加了50 gb。但问题仍然存在:

  1. mariadb服务不工作,因此我们必须重新启动它
    1.我们需要重新启动nginx服务进行web访问。在这两个操作后,监控系统工作5-6个小时,然后,我们必须再次重新启动DB和Web服务。我们认为数据库没有使用全部170 GB,只“看到”了最初120 GB。作为测试,我们删除了大约15个设备(+-15 GB),并测试了5天,没有任何数据库或WEB问题。
    使用的引擎是InnoDB
    我们检查了innodb_page_size是否为16384
    有人能帮我们吗
pxiryf3j

pxiryf3j1#

全球状态和变量分析:
观察结果:

  • 版本:10.3.28-玛丽亚数据库
  • 3.6 GB内存
  • 正常运行时间= 6天22:26:28
  • 429查询/秒:145个问题/秒
    更重要的问题:

你有3.6GB的内存吗?你在使用InnoDB吗?如果两个都是,那么做这两个改变;它们可能对性能有很大帮助:

key_buffer_size = 40M
innodb_buffer_pool_size = 2G

我得到的关于table_open_cache的建议相互矛盾;我们先别管它。
如果你有SSD,我推荐这两个:

innodb_io_capicity = 1000
innodb_flush_neighbors = 0

innodb_log_file_size = 200M--注意:在您正在运行的版本中更改此设置可能会很复杂。如果是这样,请不要管它。
您DELETE的行数似乎远远多于INSERT;这是怎么回事?
除非您做了很多更改,否则请进行以下更改:

myisam_sort_buffer_size = 50M

详细信息和其他观察结果:

( (key_buffer_size - 1.2 * Key_blocks_used * 1024) ) = ((128M - 1.2 * 0 * 1024)) / 3865470566.4 = 3.5%--在key_buffer中浪费的RAM百分比。--减小key_buffer_size(现在为134217728)。
( Key_blocks_used * 1024 / key_buffer_size ) = 0 * 1024 / 128M = 0--key_buffer使用的百分比。高水位线。--减小key_buffer_size(现在为134217728)以避免不必要的内存使用。
( (key_buffer_size / 0.20 + innodb_buffer_pool_size / 0.70) ) = ((128M / 0.20 + 128M / 0.70)) / 3865470566.4 = 22.3%--大部分可用的内存都应可用于缓存。--http://mysql.rjweb.org/doc.php/memory
( Key_reads + Key_writes + Innodb_pages_read + Innodb_pages_written + Innodb_dblwr_writes + Innodb_buffer_pool_pages_flushed ) = (0 + 0 + 107837817 + 14228075 + 669027 + 14217155) / 599188 = 228 /sec-- IOPs?--如果硬件可以处理它,请将innodb_io_capacity(现在为200)设置为大约该值。
( ( Key_reads + Key_writes + Innodb_pages_read + Innodb_pages_written + Innodb_dblwr_writes + Innodb_buffer_pool_pages_flushed ) / innodb_io_capacity / Uptime ) = ( 0 + 0 + 107837817 + 14228075 + 669027 + 14217155 ) / 200 / 599188 = 114.3%--这 * 可能 * 是指示合理设置了多少innodb_io_capacity的度量。--如果硬件可以处理它,则增加innodb_io_capacity(现在为200)。
( Table_open_cache_misses ) = 12,156,771 / 599188 = 20 /sec--可能需要增加table_open_cache(现在为2000)
( Table_open_cache_misses / (Table_open_cache_hits + Table_open_cache_misses) ) = 12,156,771 / (184539214 + 12156771) = 6.2%--表打开缓存的有效性。--增加表打开缓存(现在为2000)并检查表打开缓存示例(现在为8)。
( innodb_buffer_pool_size ) = 128M-- InnoDB数据+索引缓存--128 M(旧的默认值)小得可怜。
( innodb_buffer_pool_size ) = 128 / 3865470566.4 = 3.5%--用于InnoDB的RAM的百分比buffer_pool --设置为可用RAM的大约70%。(越低效率越低;太高的风险交换。)
( (key_buffer_size / 0.20 + innodb_buffer_pool_size / 0.70) ) = ((128M / 0.20 + 128M / 0.70)) / 3865470566.4 = 22.3%--(判断RAM使用情况的指标)
( innodb_lru_scan_depth ) = 1,024--“创新数据库:页面清除器(C):1000 ms预期循环时间......”可通过降低lru_scan_depth进行修复
( innodb_io_capacity ) = 200--刷新时,使用此数量的IOPS。--读取可能缓慢或突然。
( innodb_io_capacity_max / innodb_io_capacity ) = 2,000 / 200 = 10--容量:max/plain --建议值2。最大值应大约等于I/O子系统可以处理的IOPs。(如果驱动器类型未知,则2000/200可能是合理的对。)
( Innodb_log_writes ) = 33,145,091 / 599188 = 55 /sec
( Innodb_os_log_written / (Uptime / 3600) / innodb_log_files_in_group / innodb_log_file_size ) = 67,002,682,368 / (599188 / 3600) / 2 / 48M = 4--比率--(参见分钟)
( Uptime / 60 * innodb_log_file_size / Innodb_os_log_written ) = 599,188 / 60 * 48M / 67002682368 = 7.5--InnoDB日志循环之间的分钟数从5.6.8开始,可以动态更改;请确保同时更改my. cnf。--(建议的轮替间隔为60分钟有点武断。)调整innodb_log_file_size(现在为50331648)。(无法在AWS中更改。)
( innodb_flush_method ) = innodb_flush_method = fsync--InnoDB应该如何请求操作系统写入块。建议使用O_DIRECT或O_ALL_DIRECT(Percona)来避免双重缓冲。(至少对于Unix是这样的。)有关O_ALL_DIRECT的警告,请参见christhandler
( default_tmp_storage_engine ) = default_tmp_storage_engine =
( innodb_flush_neighbors ) = 1--将块写入磁盘时的次要优化。--对于SSD驱动器使用0; 1表示硬盘驱动器。
( ( Innodb_pages_read + Innodb_pages_written ) / Uptime / innodb_io_capacity ) = ( 107837817 + 14228075 ) / 599188 / 200 = 101.9%--如果〉100%,则需要更多io_capacity。--如果驱动器可以处理,则增加innodb_io_capacity(现在为200)。
( innodb_io_capacity ) = 200--磁盘上每秒可执行的I/O操作数。对于较慢的驱动器,为100;旋转驱动器为200;固态硬盘为1000-2000;乘以RAID系数。
( sync_binlog ) = 0-使用1以增加安全性,以I/O =1的一些代价可能导致大量的“查询结束”;=0可能会导致“binlog处于不可能的位置”,并在崩溃时丢失事务,但速度更快。0对Galera来说是可以的。
( innodb_adaptive_hash_index ) = innodb_adaptive_hash_index = ON--通常应该是ON。--在某些情况下,OFF更好。另请参阅innodb_adaptive_hash_index_parts(现在为8)(5.7.9之后)和innodb_adaptive_hash_index_partitions(MariaDB和Percona)。ON与罕见的崩溃有关(错误73890)。10.5.0决定默认为OFF。
( innodb_print_all_deadlocks ) = innodb_print_all_deadlocks = OFF--是否记录所有死锁。--如果您遇到死锁问题,请打开此选项。注意:如果有很多死锁,这可能会向磁盘写入很多内容。
( myisam_sort_buffer_size ) = 134,216,704 / 3865470566.4 = 3.5%--用于更改、创建索引、优化、加载数据;--减小myisam_sort_buffer_size(现在是134216704)以避免内存溢出。
( innodb_ft_result_cache_limit ) = 2,000,000,000 / 3865470566.4 = 51.7%--FULLTEXT结果集的字节限制。(可能未预先配置,但会增加?)--降低设定值。
( innodb_autoextend_increment * 1048576 ) = (64 * 1048576) / 3865470566.4 = 1.7%--将ibdata 1增加多少(需要时)。--减小设置以避免过早交换。
( character_set_server ) = character_set_server = latin1--将character_set_server(现在是latin 1)设置为utf8 mb 4可能有助于解决字符集问题。这是未来的默认设置。
( local_infile ) = local_infile = ON-- local_infile(现在为ON)= ON是一个潜在的安全问题
( Created_tmp_disk_tables / Created_tmp_tables ) = 542,381 / 1084764 = 50.0%--溢出到磁盘的临时表的百分比--可以增加tmp_table_size(现在为16777216)和max_heap_table_size(现在为16777216);改善指标;避免斑点等。
( Com_delete / Com_insert ) = 2,294,352 / 1521534 = 150.8%--删除/插入(以百分比表示)。(忽略LOAD、REPLACE等)
( Com_insert + Com_delete + Com_delete_multi + Com_replace + Com_update + Com_update_multi ) = (1521534 + 2294352 + 21366 + 0 + 45590666 + 0) / 599188 = 82 /sec--写入/秒-- 50次写入/秒+日志刷新可能会使普通驱动器的I/O写入容量达到最大值
( Com__biggest ) = Com__biggest = Com_stmt_execute--哪个“Com
”指标最大。--通常是Com_select(现在是34545111)。如果是其他指标,则可能是一个草率的平台,也可能是其他指标。
( binlog_format ) = binlog_format = MIXED--声明/行/混合。--5.7(10.3)优先选择行
( slow_query_log ) = slow_query_log = OFF--是否记录慢速查询。(5.1.12)

( long_query_time ) = 10--用于定义“慢”查询的截止时间(秒)。--建议2
( back_log ) = 80--(自5.6.6起自动调整大小;基于max_connections)--提高到min(150,max_connections(现在是151))可能会在进行大量连接时有所帮助。
( thread_cache_size / Max_used_connections ) = 151 / 51 = 296.1%--线程缓存大于可能的连接数并没有什么好处,缺点是浪费空间。
您的查询缓存是半关闭的。您应该同时设置query_cache_type = OFF和query_cache_size = 0。(根据传言)QC代码中有一个“bug”,除非您关闭这两个设置,否则会使一些代码处于打开状态。

异常小:

(Com_select + Qcache_hits) / (Com_insert + Com_update + Com_delete + Com_replace) = 0.699
Com_show_tables = 0
Innodb_buffer_pool_bytes_data = 193 /sec
Table_locks_immediate = 0.53 /HR
eq_range_index_dive_limit = 0
innodb_spin_wait_delay = 4

异常大:

Com_delete_multi = 0.036 /sec
Com_stmt_close = 141 /sec
Com_stmt_execute = 141 /sec
Com_stmt_prepare = 141 /sec
Handler_discover = 0.94 /HR
Innodb_buffer_pool_read_ahead = 162 /sec
Innodb_buffer_pool_reads * innodb_page_size / innodb_buffer_pool_size = 114837.2%
Innodb_data_pending_fsyncs = 2
Innodb_os_log_fsyncs = 55 /sec
Opened_plugin_libraries = 0.006 /HR
Table_open_cache_active_instances = 4
Tc_log_page_size = 4,096

异常字符串:

aria_recover_options = BACKUP,QUICK
innodb_fast_shutdown = 1
log_slow_admin_statements = ON
myisam_stats_method = NULLS_UNEQUAL
old_alter_table = DEFAULT

相关问题