Heim > Fragen und Antworten > Hauptteil
Genau wie bei Zhihu/Quora und anderen Websites können Sie beim Lesen von Benutzerantworten oder Artikeln die Option „Mehr lesen“ oder „Modal“ verwenden, um den gesamten Artikel zu lesen.
Jetzt gibt es ein ähnliches Geschäftsszenario. Jedes Mal, wenn das Front-End 15 Artikel vom Back-End anfordert, ist meine Frage, ob einige Artikel Zehntausende von Wörtern enthalten können. API ist zu groß.
Da der Fragesteller kein tiefes Verständnis für Konzepte wie Netzwerkdatenübertragung hat, wird die gleichzeitige Rückgabe von fast 100.000 Datenwörtern einen großen Einfluss auf die Netzwerklatenz haben? Mit anderen Worten: Ich gebe jedes Mal nur die ersten paar Wörter des Artikels zurück. Wenn der Benutzer auf „Mehr lesen“ klickt, initiiert das Frontend eine Anfrage an das Backend.
淡淡烟草味2017-06-12 09:21:43
忽略网络因素,这个场景需要考虑两个点
1.服务端压缩算法性能
2.服务端压缩算法压缩率
通常,算法的性能和压缩率是成反比的。最极端情况,服务端不进行压缩,这样压缩率100%,cpu开销0%;相反的压缩率达到0.1%,cpu开销100%。
目前服务器都会开启gzip压缩,针对文本压缩率能够达到15%左右,当然跟文本内容也有关系,例如:排序后的文本压缩率会更高。
从题主描述的业务场景来看,类似预加载15篇文章,可以适当取舍,毕竟要兼顾产品体验,也要考虑用户的流量。
PHP中文网2017-06-12 09:21:43
那么问题来了,当你是服务端渲染页面的时候,你请求好几万字的文章,数据量不是更大了?十几万字,一个中文字是2字节十几万字才几百KB= =能有多大