更改
跳到导航
跳到搜索
第166行:
第166行:
+
−
第196行:
第196行:
− 效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的 网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。+
− 把图片单独存储,尽量减少图片等大流量的开销,可以放在一些相关的平台上,如七牛等+
− +
− 数据库的并发连接为100,一台数据库远远不够,可以从读写分离、主从复制,数据库集群方面来着手。另外尽量减少数据库的访问,可以使用缓存数据库如memcache、redis。+
+
+
− 尽量减少下载,可以把不同的请求分发到多个镜像端。+
− Apache的最大并发连接为1500,只能增加服务器,可以从硬件上着手,如F5服务器。当然硬件的成本比较高,我们往往从软件方面着手。+
−
−
第245行:
第245行:
− todo+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
→sql优化举例
== 进程间的通信方式 ==
== 进程间的通信方式 ==
== fpm ==
== fpm ==
* 进程管理方式pm,静态、动态。
* 合适的超时时间request_terminate_timeout、max_execution_time
* 合适的超时时间request_terminate_timeout、max_execution_time
* 看服务器性能,设置进程数量max_children
* 看服务器性能,设置进程数量max_children
* fpm进程处理最大请求数max_requests
* fpm进程处理最大请求数max_requests
== nginx ==
== nginx ==
# HTML静态化
# HTML静态化
#: 效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的 网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。
# 图片服务器分离
# 图片服务器分离
#: 把图片单独存储,尽量减少图片等大流量的开销,可以放在一些相关的平台上,如七牛等
# 数据库集群和库表散列及缓存
# 数据库的优化,包括合理的事务隔离级别、SQL语句优化、索引优化
#: 避免慢查询过多阻塞
# 数据库集群和库表散列及缓存,使用缓存、尽量减少数据库IO
#: 数据库的并发连接为100,一台数据库远远不够,可以从读写分离、主从复制,数据库集群方面来着手。另外尽量减少数据库的访问,可以使用缓存数据库如memcache、redis。
# 镜像:
# 镜像:
#: 尽量减少下载,可以把不同的请求分发到多个镜像端。
# 负载均衡:
# 负载均衡:
#: Apache的最大并发连接为1500,只能增加服务器,可以从硬件上着手,如F5服务器。当然硬件的成本比较高,我们往往从软件方面着手。
== Laravel请求生命周期 ==
== Laravel请求生命周期 ==
== laravel orm加全局条件? ==
== laravel orm加全局条件? ==
# 实现Illuminate\Database\Eloquent\ScopeInterface接口,apply方法
# 重写boot方法, static::addGlobalScope(new ScopeName);
== laravel 事件 ==
# 创建事件、 监听器
# EventServiceProvider中注册
# event函数调用
== sql优化举例 ==
# 加索引
# 尽量避免计算,大于小于不等于、使用函数、隐式类型转换
# like ”%“开头的
# 批量insert
# 分页
* sql语句优化,索引优化
* 使用缓存、尽量减少数据库IO
* 分布式
== sql语句的执行顺序 ==
开始->FROM子句->WHERE子句->GROUP BY子句->HAVING子句->ORDER BY子句->SELECT子句->LIMIT子句->最终结果