A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pakho-chou 中级黑马   /  2019-8-26 15:46  /  966 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[sz]服务器性能优化
针对服务器端的渲染性能,百度做了非常细致的优化:
在框架层,对渲染流程进行了简化,添加了缓存;
在基础组件层,对控制的简单组件进行编译优化;
在业务层,提供先验工具、准入规范,线上监控和报警,并提供 a-nossr 指令。
那么组件是如何在服务器端渲染成想要的 HTML 字符串呢?
首先会经过以下步骤:首先,加载组件的配置,创建组件的实例。在实例的创建过程中,对这个组件所有的数据进行初始化,包括一些特征和计算属性,得到初始化状态以后,再渲染出虚拟 DOM 树,把整个组件节点数渲染成一个实例的形式,用虚拟 DOM 树渲染成 HTML 字符串。

与此同时,百度搜索对整个渲染的过程进行了简化。在框架层,通过创建虚拟 DOM,减少了一次递归,也减少了在线上运行时的逻辑。在基础组件层,百度对横向团队能够完全控制的一些简单组件进行了优化。利用 HTML 编译器编译成语法树,语法树对它每一个 AST 节点进行优化,通过将 Tag 直接定义为普通的 DOM 节点的方法,生成最后想要的函数代码。

简单组件编译优化
目前进展
目前,百度提供搜索组件化的工具。比如搜索 Web 无障碍规划、搜索性能准入规范、搜索设计规范;服务方面包括性能监控、前后端异常监控等;运行方面提供 VSL 语音交互框架帮助开发者开发一些语音交互逻辑;工程方面提供搜索敏捷平台,帮助开发者直接完成联调、提测、上线;在应用方面,有卡片、图片搜索、咨询搜索、移动端的首页,还有一些独立的站,包括百度体育和百度招聘。

6 个回复

正序浏览
除了恐惧和欲望,还有什么可以激励自己长期地努力?
回复 使用道具 举报
一个人幸运的前提,其实是他有能力改变自己。嗯,来到这里的我们都是幸运的吧?
回复 使用道具 举报
事实是不会为体贴我们这些悲念而有些许更改的。
回复 使用道具 举报
乞丐并不会妒忌百万富翁,但是他肯定会妒忌收入更高的乞丐。
回复 使用道具 举报
不要依赖梦想而忘记生活
回复 使用道具 举报
我从不喜欢迁就却用最干净的真心为你妥协了很久。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马