1、使用行级别锁,避免表级别或页级别锁尽量使用支持行级别锁的存储引擎,如InnoDB;只在读操作显著多于写作的场景中(如数据仓库类的应用)使用表级别锁的存储引
1、使用行级别锁,避免表级别或页级别锁
尽量使用支持行级别锁的存储引擎,虚拟主机,如InnoDB;只在读操作显著多于写作的场景中(如数据仓库类的应用)使用表级别锁的存储引擎,如MyISAM;。
2、降低热巨锁(hot gaint lock)出现的可能性以尽可能避免全局互斥量
临界区(仅允许单一线程访问的资源)会严重降低MySQL系统并发性;InnoDB缓冲池(buffer pool)、数据字典等都是常见的临界区;幸运的是,香港虚拟主机,虚拟主机,新版本的InnoDB已经能够较好的运行于多核处理器,支持使用innodb_buffer_pool_instances服务器变量建立多个缓冲池实例,每个缓冲池实例分别自我管理空闲列表、列表刷写、LRU以及其它跟缓冲池相关的数据结构,并通过各自的互斥锁进行保护。
3、并行运行多个I/O线程
通过innodb_io_capacity服务器变量等增加磁盘I/O线程的数量可以提高前端操作(如SELECT)的性能,不过,磁盘I/O线程的数量不应该超过磁盘的IOPS(7200RPM的单块硬件的IOPS数量一般为100个左右)。
此外,异步I/O也可以在一定程度上提高系统的并发能力,在Linux系统上,可以通过将MySQL的服务器变量innodb_use_native_aio的值设定为ON设定InnoDB可以使用Linux的异步I/O子系统。
SDCMS-B2C商城网站管理系统
SDCMS-B2C商城网站管理系统是一个以php+MySQL进行开发的B2C商城网站源码。 本次更新如下: 【新增的功能】 1、模板引擎增加包含文件父路径过滤; 2、增加模板编辑保存功能过滤; 3、增加对统计代码参数的过滤 4、新增会员价设置(每个商品可以设置不同级不同价格) 5、将微信公众号授权提示页单独存放到data/wxtemp.php中,方便修改 【优化或修改】 1、修改了check_b
13 查看详情
4、并行后端任务
默认情况下,MySQL的清写(purge)操作(用于移除带删除标记的记录)由InnoDB的主线程完成,这可以降低内部资源竞争发生的概率,进而增强MySQL服务伸缩能力。不过,随着InnoDB内部各式各样的竞争越来越多,这种设置带来的性能优势已几乎不值一提,因此,生产环境中应该通过为innodb_purge_threads服务器变量设定为ON将主线程与清写线程分开运行。
5、单线程复制模型中的SQL线程是一个热区
在从服务器上并行运行多个SQL线程可有效提高MySQL从服务器性能,MySQL 5.6支持多线程复制(每库一个复制线程);
本文出自 “马哥教育” 博客,转载请与作者联系!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1083326.html
微信扫一扫
支付宝扫一扫