如何确定全局和线程缓冲区的大小在MySQL?



我目前正在调试与我的cloudsql mySQL数据库有关的一些性能问题,并希望调查其配置参数。

在cloud sql文档中可以找到以下注释:

"最大并发连接数-注意:

要确定可以为该标志设置的最大值,请使用基本公式如下:

Available RAM = Global Buffers + (Thread Buffers x max_connections)

max_connections = (Available RAM - Global Buffers) / Thread Buffers

获取缓冲区列表及其值:SHOW VARIABLES LIKE '%buffer%';允许其他进程需要一些净空记忆!">

但是,运行sql命令会产生以下输出:

mysql> SHOW VARIABLES LIKE '%buffer%';
+-------------------------------------+----------------+
| Variable_name                       | Value          |
+-------------------------------------+----------------+
| bulk_insert_buffer_size             | 8388608        |
| innodb_buffer_pool_chunk_size       | 55574528       |
| innodb_buffer_pool_dump_at_shutdown | ON             |
| innodb_buffer_pool_dump_now         | OFF            |
| innodb_buffer_pool_dump_pct         | 25             |
| innodb_buffer_pool_filename         | ib_buffer_pool |
| innodb_buffer_pool_in_core_file     | ON             |
| innodb_buffer_pool_instances        | 1              |
| innodb_buffer_pool_load_abort       | OFF            |
| innodb_buffer_pool_load_at_startup  | ON             |
| innodb_buffer_pool_load_now         | OFF            |
| innodb_buffer_pool_size             | 55574528       |
| innodb_change_buffer_max_size       | 25             |
| innodb_change_buffering             | all            |
| innodb_log_buffer_size              | 16777216       |
| innodb_sort_buffer_size             | 1048576        |
| join_buffer_size                    | 262144         |
| key_buffer_size                     | 8388608        |
| myisam_sort_buffer_size             | 8388608        |
| net_buffer_length                   | 16384          |
| preload_buffer_size                 | 32768          |
| read_buffer_size                    | 131072         |
| read_rnd_buffer_size                | 262144         |
| sort_buffer_size                    | 262144         |
| sql_buffer_result                   | OFF            |
+-------------------------------------+----------------+
25 rows in set (0.02 sec)

我不明白该把哪些值代入公式。哪些值对应于全局缓冲区和线程缓冲区?

我发现这篇博客文章列出了哪些是全局缓冲区和线程缓冲区变量,它们是:

  • 全球缓冲:

    key_buffer_size
    innodb_buffer_pool_size
    innodb_log_buffer_size
    innodb_additional_mem_pool_size
    net_buffer_size
    query_cache_size
    
  • 线程缓冲区:

    sort_buffer_size
    myisam_sort_buffer_size
    read_buffer_size 
    join_buffer_size
    read_rnd_buffer_size
    thread_stack
    

相关内容

  • 没有找到相关文章

最新更新