在我的laravel应用程序中,我正在使用guzzle库向远程服务器发出HTTP请求。但是,数据到达本地主机需要很长时间。
但是,如果我运行命令ping server_IP
,我的平均传输时间大约为175毫秒。
我还在infinte循环中发出请求后监视了我的CPU使用情况,但是我找不到多少用法。
我也尝试在nginx服务器上托管我的laravel应用程序,但我仍然观察到大约1-1.1秒的开销。
可能导致此延迟的原因是什么?我可以减少它吗?
答案 0 :(得分:0)
可能的原因很少。
Laravel不是最快的框架。每个请求都需要加载几百个文件。如果您的服务器没有SSD驱动器,那么性能将非常糟糕。我建议创建一个RAMDISK并从那里提供文件。
网络延迟。打开wireshark并查看需要完成的所有请求。所有这些都会对性能产生负面影响,其中一些是你无法解决的(DNS,......)。尝试组合CSS和JS文件,以便最小化请求数。
服务器端的数据库连接需要很长时间才能设置,检索大量数据,...
请记住,在大多数情况下,延迟是由IO约束而不是CPU使用造成的。此外,在测试/预生产环境中,服务器每秒的请求数量为0。