北大青鸟设计培训:如何优化网站?

随着互联网的不断发展,越来越多的消费者开始通过移动终端接入网络,接收自己需要的信息。

而这些信息的传播都需要通过移动网页来实现,所以我们一起来了解一下移动网页的优化方法。

WEB服务器优化主要是基于后端服务提供的HTTP接口服务,使用nodejs实现前端分离。这里的服务器优化主要是指nodejs中实现的WEB服务器的优化。

优化的目的是提高服务器的响应和并发性,充分发挥nodejs的异步和无阻塞特性,主要从以下几个方面进行。

接口服务调用的优化对于一个页面上显示的路由,要处理这个路由,可能需要调用多个接口并处理接口逻辑。

接口合并我们在调用页面的时候合并可以合并的接口,以减少接口调用的次数。比如以产品详情页为例,产品的一些特性可以在一个界面中返回,尽量减少界面调用的次数,因为每个界面处理都有网络IO、对象序列化、压缩解压缩的过程。

接口是异步调用的,但并不是所有的接口都可以合并。对于不能合并的接口,我们尽量利用node的异步无阻塞特性进行异步调用,同时调用多个接口,调用时间取决于较慢的接口。

这里要明确一点:对于接口依赖,比如接口A依赖接口B的返回结果,在这种情况下,我们最好梳理一下接口设计,减少这样的串行调用,因为这样一来,调用耗时就是多个接口耗时的总和。

减少接口交互数据返回的数据数量会导致JSON序列化、数据批量对象处理和额外的性能损失。

您可以简化接口返回的数据结构,返回必要的字段(页面将显示使用的数据)并调整返回项目的数量。

以便减少返回的消息数据体的大小。

另外,请求接口时需要gzip压缩,可以大大减少网络传输时间。虽然解压会消耗一些CPU时间,但是对接网络IO的损失还是值得的。

业务处理的优化现在我们主要的服务器端业务处理主要是处理页面逻辑,比如路由控制、会话处理、视图对象处理、模板渲染等。

我们在这些流程中做了一些优化。

模板渲染的优化在实际使用中,我们发现模板的渲染是非常耗费性能的。如果在用户访问过程中处理特殊模板的预处理过程,会慢不止一个数量级,所以我们把预处理过程(转换后的hbs)提前,在启动web应用时预编译。

同时我们发现手柄的一些默认配置属性,比如还原处理,在字符串拼接的过程中会损失一些性能,所以我们可以关闭html片段的还原。