我怎样才能提高 Laravel 的表现?
How can I improve my Laravel performance?
我的网站在 Laravel 5.4。上个月它的速度很好而且加载速度很快,但是这个月我开始有流量了。现在我的网站很慢。加载网站需要 3-7 秒。
请指导我如何提高网站流量。
您需要了解 Laravel 的标准,以便我们可以使我们的应用程序在速度、性能等方面达到最佳。
- 首先我们需要在模型中添加所有数据库通信,即所有数据库查询
- 尝试使用Eloquentrelationship/query来get/set数据
- 不要为每个循环使用最大值
- 图像必须经过良好优化并且尺寸应该更小。如果图像是过多的 MB,那么加载需要更多时间
- 服务器运行状况应该很好。如果您使用的是 AWS、Digital Ocean,那么您需要不断检查服务器运行状况,例如 RAM、CPU、存储、带宽..
要改进您的 Laravel 网站,您必须考虑很多事情。
- 您必须查看所有数据库查询。用于监控数据库
查询你安装 Laravel debugbar 或新包 Laravel
telescope。
- 您必须在您的应用程序中使用预先加载
- 优化您的图片,并使用延迟加载来加载图片。
- 压缩您的断言(CSS、JS)
- 使用 CDN
- 如果这些都不起作用,那么您需要增加服务器资源并使用负载平衡器。
- 并始终检查服务器运行状况,如 RAM、CPU、存储、带宽。
您还必须观看此 "Quick Laravel performance improvement" 视频教程。这一定会帮助您改进您的网站。
https://www.youtube.com/playlist?list=PL1TrjkMQ8UbWRZ4tv4GW_KwbyavOxt6bc
要改进您的 Laravel 网站,您必须考虑很多事情。
在您的应用程序中使用预先加载
在查询中使用 ->cursor()
而不是 get()
方法。
例如:
$data = DB::table("users")
->select('*')
->cursor();
使用缓存
$data_key = "any-key-variable";
if (Cache::has($data_key)) {
$getData = Cache::get($data_key);
}
else {
$getData = DB::table("users")
->select('*')
->cursor();
Cache::put($data_key, $getData,720);
}
}
此外,在控制器的构造函数中使用它或调用函数
ini_set('memory_limit', '-1');
ini_set('max_execution_time', '3000');
ini_set('request_terminate_timeout', '3000');
例如
public function __construct()
{
ini_set('memory_limit', '-1');
ini_set('max_execution_time', '3000');
ini_set('request_terminate_timeout', '3000');
}
我的网站在 Laravel 5.4。上个月它的速度很好而且加载速度很快,但是这个月我开始有流量了。现在我的网站很慢。加载网站需要 3-7 秒。
请指导我如何提高网站流量。
您需要了解 Laravel 的标准,以便我们可以使我们的应用程序在速度、性能等方面达到最佳。
- 首先我们需要在模型中添加所有数据库通信,即所有数据库查询
- 尝试使用Eloquentrelationship/query来get/set数据
- 不要为每个循环使用最大值
- 图像必须经过良好优化并且尺寸应该更小。如果图像是过多的 MB,那么加载需要更多时间
- 服务器运行状况应该很好。如果您使用的是 AWS、Digital Ocean,那么您需要不断检查服务器运行状况,例如 RAM、CPU、存储、带宽..
要改进您的 Laravel 网站,您必须考虑很多事情。
- 您必须查看所有数据库查询。用于监控数据库 查询你安装 Laravel debugbar 或新包 Laravel telescope。
- 您必须在您的应用程序中使用预先加载
- 优化您的图片,并使用延迟加载来加载图片。
- 压缩您的断言(CSS、JS)
- 使用 CDN
- 如果这些都不起作用,那么您需要增加服务器资源并使用负载平衡器。
- 并始终检查服务器运行状况,如 RAM、CPU、存储、带宽。
您还必须观看此 "Quick Laravel performance improvement" 视频教程。这一定会帮助您改进您的网站。
https://www.youtube.com/playlist?list=PL1TrjkMQ8UbWRZ4tv4GW_KwbyavOxt6bc
要改进您的 Laravel 网站,您必须考虑很多事情。
在您的应用程序中使用预先加载
在查询中使用 ->cursor()
而不是 get()
方法。
例如:
$data = DB::table("users")
->select('*')
->cursor();
使用缓存
$data_key = "any-key-variable";
if (Cache::has($data_key)) {
$getData = Cache::get($data_key);
}
else {
$getData = DB::table("users")
->select('*')
->cursor();
Cache::put($data_key, $getData,720);
}
}
此外,在控制器的构造函数中使用它或调用函数
ini_set('memory_limit', '-1');
ini_set('max_execution_time', '3000');
ini_set('request_terminate_timeout', '3000');
例如
public function __construct()
{
ini_set('memory_limit', '-1');
ini_set('max_execution_time', '3000');
ini_set('request_terminate_timeout', '3000');
}