项目优化应该从那几个方面进行

来源:互联网 发布:淘宝匿名买家采集器 编辑:程序博客网 时间:2024/06/07 09:40

首先一个项目的优化要从首页、数据库、等方面进行优化

前端:

1)压缩js/css文件,压缩文件,会将文件中的所有空格去掉,并且将复杂的变量名简单化。

2)在加载js/css文件时,我们需要将公共的js/css文件加载在header头中,其他的加载在相应的body中,如果我们不这样做,就会重复的加载js/css文件,

3)应该把公共的js文件放在header头中,加载时一定要注意加载顺序,因为js文件会阻塞加载,可能会改变表的dom结构。css文件和图片加载会同步进行。

4)页面显示图片尺寸与图片真实尺寸保持一致。

5)合并页面小图标,一次性加载进来,然后进行图片定位,找出需要用到的图片

页面dom元素定位:position属性,绝对定位absolute/相对定位relative

6)合并js/css文件,合并加载

7)静态化

为什么静态化可以提高访问速度

页面静态化不需要访问数据库查询数据

页面静态化省去了代码的执行程序,直接将页面加载进来


下面介绍的是数据库的优化

数据库的优化我们可以在以下的几个方面入手

1)慢查询

使用慢查询,我们需要修改一下配置文件。

开启慢日志查询

设置你允许一条sql语句最大的查询时间

下面和大家说一下应该怎样开启慢查询

1)在mysql客户端输入命令:show variables like '%quer%';    查看慢查询是否开启

进入以后我们需要找出两行:long_query_time,slow_query_log,前面的一个是判断时间,看看查询的时间在多长时间以上为超时,第二个是,看看慢查询是否开启。

2)开启

在my.ini配置文件的[mysqld]选项下增加:

slow_query_log=TRUE

slow_query_log_file=c:/slow_query_log.txt

long_query_time=3

3)重启Apache


2)分表

纵向分表:将操作不频繁的表分离出来

横向分表:可以按两个维度进行分表:按时间分表,按用户分表


3)索引

索引类型:复合索引,普通索引,唯一索引,主键索引,全文索引

唯一索引:可以有空值,一个表中可以有多个唯一索引

主键索引:不可以有空值,表中是唯一的。

复合索引:最左侧原则,从最左边进行筛选


4)分区

将数据存储到不同的硬盘分区中


5)读写分离【主从复制】

把读的操作和写的操作分成两个数据库来进行,一个写多个读。

写的数据库的存储引擎是innodb,支持事务,写入的操作更快,即支持表锁,也支持行锁;myisam读取的较快。

6)数据库缓存

7)设计表

8)sql语句优化

尽量不使用联查

不要将表中数据全部查询

9)分库

10)负载均衡

负载http请求,用在高并发大量访问的网站中。至少需要三台服务器。

A服务器【代理服务器】--》备用服务器(keepalived软件)

B处理请求

C处理请求

所有的请求都由A接收,并且分配,分配给其他的服务器

请求的分配方式:轮询【默认】,权重【能力大,责任就大】,ip_hash【根据ip地址来进行分配】

0 0
原创粉丝点击