Archive for 十一月 2011

做加法的shell函数

写了一个对所有传入的参数做加法的shell函数,贴上来,给大家参考。

没有做什么异常处理,利用bc来计算

percona参数设置标准

percona参数设置

  1. 首先为参数设置中的对应符号,函数设置
符号,函数 解释
ceil() 向上取整
HTC CPU超线程数(HyperThread Count)
IC 一个主机上的MySQL实例个数(Instance Count)
IC 一个主机上的MySQL实例个数(Instance Count)
PDC mydata所在的逻辑盘对应的物理盘个数(Physical Disk Count)
ERSV innodb_extra_rsegments值大小(innodb_Extra_RSegments Value)
NULL 对应的参数不设置在my.cnf,也就是说使用该参数的默认值
  1. 在my.cnf中可以设置的参数如下


参数名 SAS (默认为Raid 1+0) 应该设置值 SSD (默认为Raid 5) 应该设置值 Fusion io (采用flashcache) 应该设置值 备注
innodb_read_io_threads 1 1 1 预读线程只需要设置为1
innodb_write_io_threads ceil(HTC / IC) ceil(HTC / IC) ceil(HTC / IC) 写线程设置为线程数除以实例个数
innodb_io_capacity ceil((PDC * 200 ) / IC ) ceil(((PDC – 1) * 2000 ) / IC ) ceil(40000 / IC) io_capacity主要跟机器的IO性能有关。SAS一块盘写能力假设为200,SSD一块盘假设为2000,fusion io假设为40000。
innodb_file_format barracuda barracuda barracuda percona默认文件格式为barracuda
innodb_file_format_check ON ON ON MySQL使用barracuda需要在启动的时候检查文件格式为innodb_file_format
innodb_strict_mode=1 1 1 1 严格检查文件格式,如果有文件格式高于innodb_file_format,实例不能启动
innodb_page_size=8k 8k 8k 8k MySQL文件页大小默认使用8k
innodb_extra_rsegments=8 ceil(HTC / IC) ceil(HTC / IC) ceil(HTC / IC) 额外的回滚段个数设置为CPU超线程数除以MySQL实例个数
innodb_use_purge_thread=4 ceil(ERSV / 2) ceil(ERSV / 2) ceil(ERSV / 2) purge线程数设置为额外的回滚段个数的一半
innodb_stats_update_need_lock=0 0 0 0 取消更新状态信息时的锁操作
innodb_fast_checksum=1 1 1 1 使用percona的更快的checksum算法,其实是不计算checksum
log_slow_verbosity=full full full full 详细记录慢查
userstat_running=1 1 1 1 记录用户统计信息
enable_query_response_time_stats=1 1 1 1 记录SQL响应时间信息
innodb_adaptive_checkpoint=3 NULL if(IC>4) then NULL; else 3; if(IC>4) then NULL; else 3; SAS盘不设置该参数;SSD和fusion io的如果MySQL实例在4个已上,担心0.1秒的flush频率太高对主机影响太大,不设置,采用默认值,如果实例数在4个或者4个以下,设置为3。
innodb_flush_neighbor_pages=0 NULL 0 0 对随机写不敏感的SSD和fusion io设置为不刷写邻居页,对SAS不设置,采用默认值
innodb_adaptive_flushing=false false false false 不使用innodb的自适应刷新算法