首页
业务
关于
客户
服务
联系
13520390899
资 深 的 互 联 网 开 发 服 务 商
专注于 网站开发 / 小程序开发 / APP开发 / 软件开发
网十科技 > 动态

朝阳软件开发分享MySQL可扩展性相关知识

MySQL是最常用的数据库,它适合一些稍大的软件,MySQL的运行速度要比ACESS快多了,并且MySQL不容易出错,扩展性强,是企业朝阳软件开发的首选数据库,下来朝阳软件开发分析MySQL可扩展性相关知识。

第一、使用存储

这听起来是很基础的东西,也很直接,但是经常会被忽视,朝阳软件开发至少应该确认设置了这些:

innodb_buffer_pool_size

key_buffer_size(MyISAM索引缓存)

query_cache_size–使用大型SMP时需要小心

thread_cache&table_cache

innodb_log_file_size&innodb_log_buffer_size

sort_buffer_size,join_buffer_size,read_buffer_size,read_rnd_buffer_size

tmp_table_size&max_heap_table_size

第二、使用MasterMaster复制

MasterMaster的activepassive复制模式,或者称为循环复制,不仅能带来高可用性,也能够带来高度的可扩展性。这是因为你能够即刻给你的应用分配到一块只读的从属盘。许多网络应用都按照80/20的规律来分割,80%的活动用来进行读取或SELECT,剩下的分配给INSERT和UPDATE。配置你的应用或者进行重新架构,把读取需要的流量发送到从盘,这样做是可行的,这种类型的横向可扩展能力可以进一步延伸,在必要时能够附加更多块只读从盘。

第三、磁盘读取的RAID

你的数据库下面是什么?不知道吗,请找出来。你是在用RAID5吗?这对于性能来说可是一个巨大的阻碍。RAID5的插入和更新操作速度很慢,而且如果你丢失了一块硬盘,RAID5在重建时几乎无能为力。RAID5实在是太慢了,那么应该用什么代替它呢?用RAID10做镜像和分段,这就可以充分利用你的服务器或机箱里的所有硬盘了。即使你的内存能够容纳下整个数据库,依然需要对硬盘进行许多读取操作。为什么呢?因为比如排序操作需要重新安排行列,群组和联接等等也一样,还有添加交易日志等等这些都是磁盘I/O操作。

第四、调整Key参数

另外,有些附加的参数也可以用来提高性能:

innodb_flush_log_at_trx_commit=2

它可以极大的提升insert和update的速度,只是在清除innodb日志缓冲区时有点偷懒。你可以对它多做些研究,但大多数情况下是非常值得推荐的。

innodb_file_per_table

innodb开发就像Oracle,存储方面使用的是tablespace模式。显然内核开发者们做的并不完善,因为使用单独tablespace的默认设置就会出现性能瓶颈。这个参数设置可以帮助innodb为每个表创建tablespace和数据文件,就像MyISAM所做的一样。

把握好以上几点,朝阳软件开发就能更快的解决MySQL的可扩展性问题,才能更好的为客户服务。

7x24
售后服务支持
10
故障时长赔付
16
16年行业服务经验
20
售后服务人员
70
设计、开发团队
10
国内顶尖技术专家
1000
大型及上市企业
版权所有 © 北京网十互动科技有限公司 网站 APP 小程序 软件 备案号:京ICP备16050073号-2

电话咨询