系统架构及实现对性能的影响(一)

零.Mysql的储存引擎

  1.MyISAM(默认):支持三种类型索引.B-Tree(最常用).R-Tree(很少用),Full-text(数据结构也是B-Tree)

  2.Innodb(第三方) 支持事务,实现外键,锁定机制改进,多版本读取

  3.NDB Cluster(分布式集群环境)

一.不适合在数据库中存放的数据

  1.二进制多媒体数据

    包括图片,音频,视频和其他的二进制文件

  2.流水队列数据:

    使用成熟的第三方队列插件来实现流水日志记录系统

  3.超大文本数据

二.应用层合理使用Cache

  1.系统各种配置及规则数据

  2.活跃用户的基本信息数据

  3.活跃用户的个性化定制信息数据

  4.基于时间段的统计信息数据

  5.其他一些访问频繁但变更较少的数据

三.优化sql语句

四.架构设计不当带来的性能问题和资源浪费情况

  1.Cache系统的不合理利用导致Cache命中率低下,

  2.过渡依赖面向对象思想

  3.对可扩展性的过渡追求,是对象设计的过于离散,造成大量的复杂的join语句

  4.对数据库的过渡依赖.将大量适合存放文件系统的数据存入了数据库,如日志信息

  5.过渡理想化系统的用户体验,如大量不需要实时更新的数据做了实时统计计算

五.Query语句对系统性能的影响

  1.子查询的效率高于连接的查询

六.数据模型设计对系统性能的影响

  优化1.将user表中的不常用字段重新建一个user_info表

七.硬件环境对系统性能的影响

  1.IO性能

  2.CUP性能

  3.网络设备性能

八.整个系统性能优化收益的百分比(经验)

  需求和架构及业务实现优化:55%

  Query语句的优化:30%

  数据库自身的优化:15%    

posted @ 2017-03-23 23:24  我_会飞的鱼  阅读(456)  评论(0编辑  收藏  举报