性能
木偶跳舞
个人博客
展开
-
高并发系统数据库架构设计
在WEB网站的规模从小到大不断扩展的过程中,数据库的访问压力也不断的增加,数据库的架构也需要动态扩展,在数据库的扩展过程基本上包含如下几步,每一个扩展都可以比上一步骤的部署方式的性能得到数量级的提升。 1、WEB应用和数据库部署在同一台服务器上 一般的小规模的网站采用这种方式,用户量、数据量、并发访问量都比较小,否则单台服务器无法承受,并且在遇到性能瓶颈的时候升级硬件所需要的费用非常高昂,在访问量转载 2016-06-08 11:56:22 · 4027 阅读 · 0 评论 -
站内全文搜索引擎 Sphinx/coreseek 安装使用教程
Sphinx是开源的搜索引擎,它支持英文的全文检索。所以如果单独搭建Sphinx,你就已经可以使用全文索引了。但是往往我们要求的是中文索引,怎么做呢?国人提供了一个可供企业使用的,基于Sphinx的中文全文检索引擎。也就是说Coreseek实际上的内核还是Sphinx。sphinx可以通过设置为“一元切分模式”来支持搜索中文在实际使用中,搜索非中文的话,sphinx比coreseek要快;搜索短中原创 2017-03-26 20:30:12 · 5130 阅读 · 0 评论 -
APP中WebView性能优化
从程序上观察,WebView启动过程大概分为以下几个阶段:1、WebView初始化当App首次打开时,默认是并不初始化浏览器内核的;只有当创建WebView实例的时候,才会创建WebView的基础框架。所以与浏览器不同,App中打开WebView的第一步并不是建立连接,而是启动浏览器内核。优化方法:1、全局WebView方法:在客户端刚启动时,就初始化一个全局的WebView待用,并隐藏;当用户转载 2017-06-11 22:20:48 · 862 阅读 · 0 评论 -
mysql 优化技巧
count(*) 优化:有时候某些业务场景并不需要完全精确的COUNT值,可以用近似值来代替,EXPLAIN出来的行数就是一个不错的近似值,而且执行EXPLAIN并不需要真正地去执行查询,所以成本非常低。实例:[SQL]select count(name) from aaa;受影响的行: 0时间: 2.957s结果:428396[SQL]EXPLAIN select count(name)转载 2017-05-30 20:27:36 · 641 阅读 · 0 评论 -
优化网页加载速度方法
优化网页加载速度方法转载 2016-11-02 17:13:09 · 716 阅读 · 0 评论 -
MySQL 单表分页 Limit 性能优化
主要针对记录非常多的表常用分页sql语句:select * from product limit start, count当起始页较小时,查询没有性能问题,我们分别看下从10, 100, 1000, 10000开始分页的执行时间(每页取20条), 如下:select * from product limit 10, 20 0.016秒select * from product limit 10转载 2016-12-06 18:48:11 · 1851 阅读 · 0 评论 -
高并发设计方案二(秒杀架构)
(1)尽量将请求拦截在系统上游(越上游越好);(2)读多写少的常用多使用缓存(缓存抗读压力);转载 2016-12-02 17:18:28 · 8198 阅读 · 3 评论 -
高并发设计方案一
1、通用方案日用户流量大,但是比较分散,偶尔会有用户高聚集的情况;场景: 用户签到,用户中心,用户订单,等服务器架构图: 说明:场景中的这些业务基本是用户进入APP后会操作到的,除了活动日(618,双11,等),这些业务的用户量都不会高聚集,同时这些业务相关的表都是大数据表,业务多是查询操作,所以我们需要减少用户直接命中DB的查询;优先查询缓存,如果缓存不存在,再进行DB查询,将查询结果缓存起转载 2016-09-26 15:25:04 · 4314 阅读 · 0 评论 -
mysql 性能优化方法汇总
0、加索引索引建立规则:索引的字段必须是经常作为查询条件的字段;如果索引多个字段,第一个字段要是经常作为查询条件的。如果只有第二个字段作为查询条件,这个索引不会起到作用;索引的字段必须有足够的区分度;Mysql 对于长字段支持前缀索引;1、当只要一行数据时使用 LIMIT 1当你查询表的有些时候,你已经知道结果只会有一条结果,但因为你可能需要去fetch游标,或是你也许会去检查返回的记录数。在转载 2016-08-09 19:26:19 · 321 阅读 · 0 评论 -
系统性能优化策略
1、php内的sql代码性能存在问题这个存在于两方面,一个是sql本身优化不够,另外一个方面是随着数据量的增加,某些性能问题会逐渐暴露。2、apache处理模式造成的内存消耗由于apache是以进程的形式,同步阻塞式的处理http请求,so,当网页本身加载元素过多的话,会造成大量的http进程并发,消耗服务器大量的内存,导致访问缓慢或者异常。解决办法很是简单,主要有以下几个方面:a、动态页面转成静态转载 2016-08-08 16:38:56 · 727 阅读 · 0 评论 -
MySQL批量SQL插入性能优化
对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考。1. 一条SQL语句插入多条数据。常用的插入语句如:转载 2016-04-01 11:29:27 · 331 阅读 · 0 评论 -
memcached过期策略
memcached过期策略:1、memcached的过期时间,有一个最大时限就是30天,若超过30天,存储时返回true,但是在取数据的时候取不到(这个key是1秒后过期的)。2、memcached的缓存失效策略是LRU(最近最少使用)加上到期失效策略。当向memcached存储数据时,你可能会设置一个过期时间,可以是永久也可以是一段时间,但是如果一旦给memcached分配的内存使用完毕,则首先会转载 2017-05-30 23:46:14 · 3522 阅读 · 1 评论