我有一个请求,要求我的服务器在返回给用户之前建立 3 个外部请求。这使得每个用户执行此请求需要 0.8 秒。应该遵循哪些技巧来优化它,以便服务器每秒可以处理多个请求?我使用 Apache+PHP+MySQL。目前,在 AWS 微型机器上,我每秒甚至无法处理 5 个请求!
答案1
我认为你的大部分等待时间实际上受阻直到收到响应为止。连续执行此操作并不理想。
您应该并行化。您可以使用curl_multi_init
模块php-curl
异步连接回您的数据存储。
这并不能解决根本问题——远程数据存储的响应速度不受您控制。但是,您应该再次缓存其中的一些内容(memcache
如果您愿意,可以将其用于缓存),即使这些内容在一两分钟内变得陈旧。