Home Web Front-end JS Tutorial As a front-end development engineer, you must pay attention to three performance indicators:

As a front-end development engineer, you must pay attention to three performance indicators:

Nov 18, 2017 pm 02:06 PM
focus on engineer

As a qualified front-end development engineer, do you know several performance indicators that you need to pay attention to? Today I will give you a good introduction to the three indicators that you must pay attention to as a front-end engineer

1. Regarding the page response time, there is a famous "2-5-8 principle". When a user visits a page:

When the response is received within 2 seconds, the system response will be felt quickly;

When the response is received between 2-5 seconds, the system response speed will be felt It's OK;

When the response is received within 5-8 seconds, the system's response speed will feel very slow, but it is acceptable;

When the user still cannot get the response after more than 8 seconds, the user You will feel that the system is terrible and choose to leave the site or initiate a second request.

If a website hopes to capture users, the speed and stability of the website are the first priority.

You can get many performance indicators of the page from various front-end monitoring platforms. This article will introduce several key indicators and give corresponding optimization ideas.

2. Start rendering time

This time point indicates that the browser starts drawing the page. Before this, the page is white screen, so it is also called white screen time.

This time point can be represented by the formula Time To Start Render = TTFB (Time To First Byte) + TTDD (Time To Document Download) + TTHE (Time To Head End). Among them, TTFB represents the time from the browser initiating the request to the server returning the first byte, TTDD represents the time to load the HTML document from the server, and TTHE represents the time required to complete the parsing of the document header. There is a corresponding attribute in advanced browsers to obtain this time point. Chrome can be obtained through chrome.loadTimes().firstPaintTime, and IE9+ can be obtained through performance.timing.msFirstPaint. In unsupported browsers, the approximate value can be simulated by obtaining the moment when the header resource is loaded according to the above formula. The faster the start rendering time, the faster users can see the page.

Optimizations at this point in time include:

1) Optimize server response time, server output as early as possible

2) Reduce html file size

3 ) Reduce header resources and put the script in the body as much as possible

DOM Ready

This point in time indicates that the DOM parsing has been completed and the resources have not been loaded. At this time, the user and the page Interaction is already available. It can be expressed by the formula TimeTo Dom Ready = TTSR(Time To Start Render) + TTDC(Time To Dom Created) + TTST(Time To Script). TTSR has been introduced above, and TTDC represents the time it takes to create the DOM tree. TTST represents the loading and execution time of all static scripts in BODY. There is a corresponding DOMContentLoaded event in advanced browsers. The document describing the DOMContentLoaded event on MDN is as follows,

The DOMContentLoaded event is fired when the document has been completely loaded and parsed, without waiting for stylesheets, images, and subframes to finish loading (the load event can be used to detect a fully-loaded page).

For detailed specifications, please view the W3C's HTML5 specification. It can be seen from the MDN document that this event mainly refers to the completion of loading and parsing of the DOM document. It seems very simple, but the triggering of the DOMContentLoaded event is closely related to css and js. Now there is a special term Critical Rendering Path (critical rendering path) to describe it. The impact of the critical rendering path on DOMContentLoaded is introduced in detail in the article [Critical Rendering Path].

In browsers that do not support the DOMContentLoaded event, you can obtain approximate values ​​through simulation. The main simulation methods are:

1) Low-version webkit kernel browsers can poll the document. readyState to achieve

2) In IE, the doScroll method of documentElement can be continuously called through setTimeout until it can be used to implement

The specific implementation method can refer to the implementation of mainstream frameworks (jquery, etc.). The DOM Ready time point means that the user can interact with the page, so the earlier the better. Optimizations for this time point include:

1) Reduce the complexity of the DOM structure, with as few nodes as possible, and nesting Don’t go too deep

2) Optimize the key presentation path

3. First screen time

This time point represents the time when the user sees the first screen page. This The time point is important but difficult to obtain. Generally, an approximate time can only be obtained through simulation. The general simulation methods are:

1) Continuously obtain screenshots. When the screenshots no longer change, it can be regarded as the first screen time. You can refer to the Speed ​​Index algorithm of webPagetest;

2) Generally, the main factor that affects the first screen is the loading of picture. After the page is loaded, determine whether the picture is in the first screen and find out whether it is loaded. The slowest one can be regarded as the first screen time. Of course, other details need to be considered. For details, please refer to [Building a front-end performance monitoring system in 7 days]

The optimizations for this time point are:

1) Try not to rely on the display of the first screen of the page. js code, js should be executed or loaded after domReady as much as possible

2) Delayed loading of images outside the first screen

3) Keep the structure of the first screen as simple as possible, and css outside the first screen can be delayed loaded

onload

at this time It is the time when the window.onload event is triggered, which means that the original document and all referenced content have been loaded. The most obvious feeling for the user is that the loading state on the browser tab has ended.

The optimization methods at this point in time are:

1) Reduce the number of resource requests and file size

2) Place the non-initialization script after onLoad and execute it

3) Asynchronous loading of scripts without synchronization

In order to optimize the performance of the entire site, you can consider doing some preloading when onloading the page, and preloading the resources that other pages need to use.

I hope that reading the above article will be helpful to you on the road to front-end development.

Related reading:

Front-end JS interview questions

Introduction to practical web front-end JS and UI framework

Web front-end knowledge system summary

The above is the detailed content of As a front-end development engineer, you must pay attention to three performance indicators:. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Why don't others see my attention on Weibo? -How to check visitor records on Weibo? Why don't others see my attention on Weibo? -How to check visitor records on Weibo? Mar 18, 2024 am 11:22 AM

Why don’t others see my attention on Weibo? We only need to classify the blogger into the group "Follow quietly" so that others will not see that we are following him. 1. Open Weibo on your mobile phone and click [Follow] on the homepage. 2. Click [Follow quietly] in "My Group". How to check visitor records on Weibo? 1. The visitor recording function tested on Weibo is currently only visible to SVIP and VVIP, and is only open to some users. 2. Users can find the visitor record entrance in [More Functions] under the personal center, where they can view the number of visitors, the visitors, and the people who visit more frequently. 3. This function is only open to SVIP and VVIP users, and is temporarily unavailable to ordinary users and ordinary member users. 4. In short, Weibo test visitors

'Collins Dictionary' announces the most popular words in the UK in 2023: AI 'Collins Dictionary' announces the most popular words in the UK in 2023: AI Nov 02, 2023 am 08:13 AM

[Global Times Comprehensive Report] According to the British "Guardian" report on October 31, "Collins Dictionary" selected the most talked about word in the UK in 2023 - artificial intelligence (AI). Collins Publishers said it chose "AI" as its word of the year because it is "growing so fast" that usage of the acronym has quadrupled in the past year. The Collins Dictionary defines "AI" as "the use of computer programs to model human psychological functions." Alex Beecroft, general manager of the publishing house, said that “AI” is undoubtedly the focus topic in 2023. “It has become ubiquitous in a short period of time. It once sounded futuristic, but now it has become ubiquitous. integrated into our lives as everyday technology.”

How to add follow detection to Weibo homepage_Introduction to setting follow detection method on Weibo How to add follow detection to Weibo homepage_Introduction to setting follow detection method on Weibo Mar 30, 2024 pm 12:41 PM

1. After entering Weibo, click [Me] to enter the personal center. 2. Select [More Function Cards]. 3. Find the Weibo following list and select [Add] in the picture. 4. Then we can see that the following detection has been added to the function card, and you can directly click here to detect personal information.

What does a java engineer do? What does a java engineer do? Dec 22, 2023 pm 04:46 PM

Java engineer responsibilities: 1. Java engineers are responsible for analyzing and understanding the needs of customers or companies, and designing software solutions based on these needs. They need to communicate with customers or team members to ensure the accuracy and completeness of understanding the requirements; 2. Java engineers You need to be familiar with and master various Java development tools and frameworks; 3. Java engineers also need to be familiar with database management systems, such as MySQL, Oracle or SQL Server; 4. During the development process, Java engineers need to perform system testing and debugging, etc.

Analysis of front-end engineer responsibilities: What is the main job? Analysis of front-end engineer responsibilities: What is the main job? Mar 25, 2024 pm 05:09 PM

Analysis of front-end engineer responsibilities: What is the main job? With the rapid development of the Internet, front-end engineers play a very important professional role, playing a vital role as a bridge between users and website applications. So, what do front-end engineers mainly do? This article will analyze the responsibilities of front-end engineers, let us find out. 1. Basic responsibilities of front-end engineers Website development and maintenance: Front-end engineers are responsible for the front-end development of the website, including writing the website’s HTML, CSS and JavaScr

How to judge whether a Douyin account is worth following? How to test whether the account has been restricted? How to judge whether a Douyin account is worth following? How to test whether the account has been restricted? Apr 01, 2024 pm 05:37 PM

With the rise of social media, Douyin has become one of the most popular short video platforms among young people. Among the massive number of Douyin accounts, there are many accounts that are rich in content and interesting, and there are also some accounts that are of low quality and superficial. So, how should we judge whether a Douyin account is worthy of attention? 1. How to judge whether a Douyin account is worthy of attention? We can judge whether an account is worthy of attention based on the quality of its content. A high-quality Douyin account usually provides valuable content that can bring happiness, enlightenment or thinking to the audience. These contents can be carefully edited short funny videos, or they can be life tips, food making or travel experience sharing, etc. These contents can be carefully edited short funny videos, or they can be life tips, food making or travel.

How to follow and claim prizes on Weibo_How to follow and claim prizes on Weibo How to follow and claim prizes on Weibo_How to follow and claim prizes on Weibo Mar 30, 2024 pm 12:21 PM

1. First click on Weibo. 2. Then continue to click on me below and choose to do the following task. 4. Select your own character to follow. 5. After following 5 characters, you can claim the prize. 6. Get rewards from Weibo attention.

A must-read for Go language development engineers: An overview of the recruitment status of these major companies! A must-read for Go language development engineers: An overview of the recruitment status of these major companies! Mar 04, 2024 pm 09:21 PM

A must-read for Go language development engineers: An overview of the recruitment status of these major companies! With the rapid development of the Internet industry, Go language, as an efficient, stable and easy-to-use programming language, is increasingly favored by enterprises. Many large Internet companies have begun to recruit Go language development engineers. In order to help developers who intend to engage in this field better understand the market demand, this article will introduce to you the recruitment status of some well-known companies. Tencent Technology: As one of China’s most influential technology giants, Tencent has been continuously expanding its technical team.

See all articles