| 
                         可以看到此时的并发数也就是Threads_connected=1,还远远达不到2048 
- mysql> show variables like 'open_files_limit'; 
 - +------------------+-------+ 
 - | Variable_name    | Value | 
 - +------------------+-------+ 
 - | open_files_limit | 65535 | 
 - +------------------+-------+ 
 - 1 row in set (0.00 sec) 
 
  
max_connections 还取决于操作系统对单进程允许打开最大文件数的限制 
也就是说如果操作系统限制单个进程最大可以打开100个文件 
那么 max_connections 设置为200也没什么用 
MySQL 的 open_files_limit 参数值是在MySQL启动时记录的操作系统对单进程打开最大文件数限制的值 
可以使用 show variables like 'open_files_limit'; 查看 open_files_limit 值 
- ulimit -n 65535  
 
  
或者直接在 Linux 下通过ulimit -n命令查看操作系统对单进程打开最大文件数限制  ( 默认为1024 ) 
connection级内存参数(线程独享)
connection级参数,是在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存。 
排序性能
mysql对于排序,使用了两个变量来控制sort_buffer_size和  max_length_for_sort_data, 不象oracle使用SGA控制. 这种方式的缺点是要单独控制,容易出现排序性能问题. 
- mysql> SHOW GLOBAL STATUS like '%sort%'; 
 - +---------------------------+--------+ 
 - | Variable_name             | Value  | 
 - +---------------------------+--------+ 
 - | Sort_merge_passes         | 0      | 
 - | Sort_priority_queue_sorts | 1409   | 
 - | Sort_range                | 0      | 
 - | Sort_rows                 | 843479 | 
 - | Sort_scan                 | 13053  | 
 - +---------------------------+--------+ 
 - 5 rows in set (0.00 sec) 
 
  
    - 如果发现
Sort_merge_passes的值比较大,你可以考虑增加sort_buffer_size 来加速ORDER BY 或者GROUP BY 操作,不能通过查询或者索引优化的。我们这为0,那就没必要设置那么大。 
 
读取缓存
read_buffer_size = 128K(默认128K)为需要全表扫描的MYISAM数据表线程指定缓存 
read_rnd_buffer_size = 4M:(默认256K)首先,该变量可以被任何存储引擎使用,当从一个已经排序的键值表中读取行时,会先从该缓冲区中获取而不再从磁盘上获取。 
大事务binlog
- mysql> show global status like 'binlog_cache%'; 
 - +-----------------------+----------+ 
 - | Variable_name         | Value    | 
 - +-----------------------+----------+ 
 - | Binlog_cache_disk_use | 220840   | 
 - | Binlog_cache_use      | 67604667 | 
 - +-----------------------+----------+ 
 - 2 rows in set (0.00 sec) 
 
  
    - Binlog_cache_disk_use表示因为我们binlog_cache_size设计的内存不足导致缓存二进制日志用到了临时文件的次数
 
    - Binlog_cache_use  表示 用binlog_cache_size缓存的次数
 
    - 当对应的Binlog_cache_disk_use 值比较大的时候 我们可以考虑适当的调高 binlog_cache_size 对应的值
 
    - 如上图,现网是32K,我们加到64K
 
 
join语句内存影响
如果应用中,很少出现join语句,则可以不用太在乎join_buffer_size参数的设置大小。 
如果join语句不是很少的话,个人建议可以适当增大join_buffer_size到1MB左右,如果内存充足可以设置为2MB。 
线程内存影响                        (编辑:91站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |