我想将新功能与基于Laravel的电子商务解决方案集成。此时主脚本需要大约2.7秒才能运行。整个站点加载超过6秒,我们刚刚开始监控它。目标是使用脚本获得低于2秒,使用所有内容获得4秒。
微服务和功能通过gRPC公开。
有一个基于TLS的客户端 - 服务器身份验证(电子商务实例和我的服务可以证明他们是谁)。这吃了几毫秒。
在测试Go-client和Go-server时,如果有20个连接池,则每个请求的时间小于35ms。 在PHP中,每个请求都需要200ms以上。
是否可以:
我正在考虑其他解决方案:
有什么建议吗?
答案 0 :(得分:1)
如果您使用的是同一客户端,则应重新使用该连接。另一方面,可以选择先预先创建一个Grpc \ Channel对象,然后将其作为可选的第三个参数传递给您的服务客户端:https://github.com/grpc/grpc/blob/master/src/php/lib/Grpc/BaseStub.php#L58。这样你就可以在服务中重复使用相同的连接。
目前我们没有为PHP提供异步API。我们确实有跟踪问题https://github.com/grpc/grpc/issues/6654,我们将来可以考虑