我为新闻网站(WordPress)创建了Android应用程序,我使用WP V2 API从数据库中获取帖子,即使在同一时间使用该应用程序的用户少于10个用户也可以超载服务器(CPU使用率)。
用户打开应用程序时,我发送 get
请求(使用retrofit2)并获取首页(带有10个对象的JSON数组表示帖子)。
/wp-json/wp/v2/posts?page=1
然后,对于每个帖子,我都会向媒体发送另一个请求以获取图像。
/wp-json/wp/v2/media/21342
没有应用程序,当600-700用户浏览网站时,服务器超载,该应用程序在300个用户和10个应用程序用户中超载。
为什么发生WP-V2请求和浏览器网站加载有什么区别?
尝试通过使用Inital请求传递图像URL来减少请求数。我已经使用此embedded
参数完成了此操作:
https://developer.wordpress.org/rest-api/ususe-the-prest-est-api/linking-and-ymbedding/
此外,也许尝试使用S3卸载媒体插件之类的东西将您的映像与您的应用程序服务器不同。
Pantheon有一个整个网站,专门针对WP的大规模:https://scalewp.io
除非用户轻按以减少WordPress服务器上的压力,否则请勿加载细节。浏览器正在根据需要加载,这就是为什么CPU上的增加。您的应用似乎已提前加载可能永远不会被查看的项目。