成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

提升Node.js應(yīng)用性能的5個(gè)技巧-創(chuàng)新互聯(lián)

Node.js是全球領(lǐng)先的用JavaScript——世界上最流行的編程語(yǔ)言創(chuàng)建服務(wù)器應(yīng)用程序的工具。提供web服務(wù)器和應(yīng)用服務(wù)器的功能,Node.js被認(rèn)為是各種以微服務(wù)為基礎(chǔ)的開(kāi)發(fā)和交付的關(guān)鍵工具。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),吉利企業(yè)網(wǎng)站建設(shè),吉利品牌網(wǎng)站建設(shè),網(wǎng)站定制,吉利網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,吉利網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

Node.js可以替代或增強(qiáng)Java和.NET用于后端應(yīng)用程序的開(kāi)發(fā)。

Node.js是單線程的,并且使用非阻塞I / O,允許它擴(kuò)展并支持?jǐn)?shù)以萬(wàn)計(jì)的并行操作。它和NGINX共享這些架構(gòu)特性,并解決C10K問(wèn)題——支持超過(guò)10000個(gè)并發(fā)連接——NGINX也可以解決并行操作問(wèn)題。 Node.js以它的高性能和高開(kāi)發(fā)效率享譽(yù)全球。

那么,哪里會(huì)出問(wèn)題呢?

Node.js有一些薄弱環(huán)節(jié)和漏洞,這些薄弱環(huán)節(jié)和漏洞會(huì)使得基于Node的系統(tǒng)容易出現(xiàn)性能不佳,甚至崩潰的現(xiàn)象。尤其是當(dāng)基于Node.js的web應(yīng)用程序碰到訪問(wèn)量高速增長(zhǎng)的時(shí)候,問(wèn)題就會(huì)出現(xiàn)得更加頻繁。

此外,Node.js是用于創(chuàng)建和運(yùn)行產(chǎn)生核心可變網(wǎng)頁(yè)內(nèi)容邏輯的強(qiáng)大工具。但它在服務(wù)靜態(tài)內(nèi)容——例如圖像和JavaScript文件——以及平衡多個(gè)服務(wù)器上的負(fù)載這些方面還沒(méi)那么強(qiáng)大。

為了最有效地使用Node.js,你需要緩存靜態(tài)內(nèi)容,代理和平衡多個(gè)應(yīng)用程序服務(wù)器負(fù)載,并管理客戶(hù)端、Node.js和助手——如運(yùn)行Socket.IO的服務(wù)器——之間的端口競(jìng)爭(zhēng)。 NGINX可用于解決這些問(wèn)題,從而使得它成為了一個(gè)Node.js性能優(yōu)化的偉大工具。

使用這些技巧可以提高Node.js應(yīng)用性能:

  1. 實(shí)現(xiàn)反向代理服務(wù)器
  2. 緩存靜態(tài)文件
  3. 多服務(wù)器的負(fù)載均衡
  4. 代理WebSocket連接
  5. 實(shí)現(xiàn)SSL / TLS和HTTP / 2

注:Node.js應(yīng)用性能的快速解決辦法是修改你的Node.js配置,以充分利用現(xiàn)代多核服務(wù)器的優(yōu)勢(shì)。你也可以讀一讀另一篇關(guān)于如何讓Node.js生成單獨(dú)子進(jìn)程的文章。

1.實(shí)現(xiàn)反向代理服務(wù)器

我們?cè)贜GINX.Inc的時(shí)候,如果看到有應(yīng)用程序服務(wù)器直接接觸傳入的訪問(wèn)流量,用于高性能網(wǎng)站核心的時(shí)候,總會(huì)不自覺(jué)地有點(diǎn)擔(dān)憂(yōu)。這包括許多基于WordPress的網(wǎng)站,也包括Node.js網(wǎng)站。

Node.js專(zhuān)為可擴(kuò)展性而設(shè)計(jì),它比大多數(shù)應(yīng)用服務(wù)器更易于擴(kuò)展,它的web服務(wù)器端可以處理好大量的訪問(wèn)流量。但是web服務(wù)并不是Node.js存在的理由——Node.js并不是因?yàn)檫@個(gè)目的而被構(gòu)建的。

如果你有一個(gè)大流量網(wǎng)站,提高應(yīng)用程序性能的第一步是在你的Node.js服務(wù)器前放一個(gè)反向代理服務(wù)器。這樣可以保護(hù)Node.js服務(wù)器直接接觸外部訪問(wèn)流量,還能讓你靈活使用多個(gè)應(yīng)用程序服務(wù)器,平衡負(fù)載服務(wù)器,緩存內(nèi)容。

提升 Node.js 應(yīng)用性能的 5 個(gè)技巧

在現(xiàn)有的服務(wù)器設(shè)置前放NGINX作為一個(gè)反向代理服務(wù)器,是NGINX的核心用例,全世界各地已經(jīng)有數(shù)以千萬(wàn)計(jì)的網(wǎng)站實(shí)施了。

使用NGINX作為Node.js的反向代理服務(wù)器還有一些特定的優(yōu)勢(shì),其中包括:

  • 簡(jiǎn)化操作權(quán)限和端口分配
  • 更有效地服務(wù)于靜態(tài)圖像(見(jiàn)第二個(gè)小竅門(mén))
  • 成功管理Node.js崩潰的情況
  • 減輕DoS***

注意:這些教程介紹了如何使用NGINX作為在Ubuntu 14.04或CentOS環(huán)境中的反向代理服務(wù)器,而且可以總覽NGINX置于node.js之前的整體情況。

2.緩存靜態(tài)文件

隨著基于Node.js的網(wǎng)站的使用量的增長(zhǎng),服務(wù)器的壓力開(kāi)始越來(lái)越大。這時(shí)候你要做這兩件事情:

  1. 充分利用Node.js服務(wù)器。
  2. 使得添加應(yīng)用程序服務(wù)器和負(fù)載均衡變得容易。

這其實(shí)是很容易做到的。一開(kāi)始就實(shí)施NGINX作為反向代理服務(wù)器,就像第一點(diǎn)技巧中所描述的那樣。這樣就能輕易實(shí)現(xiàn)高速緩存、負(fù)載平衡(如果有多個(gè)Node.js服務(wù)器的話(huà))等。

針對(duì)Modulus,一個(gè)應(yīng)用程序容器平臺(tái),有一篇非常有用的關(guān)于利用NGINX增壓Node.js應(yīng)用程序性能的文章。由于Node.js都是靠自己完成所有的工作的,所以我們的網(wǎng)站平均每秒只能服務(wù)將近900個(gè)請(qǐng)求。使用NGINX作為反向代理服務(wù)器,提供靜態(tài)內(nèi)容,一個(gè)站點(diǎn)每秒可服務(wù)超過(guò)1600個(gè)請(qǐng)求——性能提升了近2倍。

性能的提升能讓你有時(shí)間采取額外措施以適應(yīng)進(jìn)訪問(wèn)量的增長(zhǎng),如審查(或提高)網(wǎng)站設(shè)計(jì),優(yōu)化程序代碼,部署更多的應(yīng)用程序服務(wù)器。

以下配置代碼適用運(yùn)行于Modulus的網(wǎng)站:

server {
  listen 80;
  server_name static-test-47242.onmodulus.net;
  root /mnt/app;
  index index.html index.htm;
  location /static/ {
   try_files $uri $uri/ =404;
  }
  location /api/ {
   proxy_pass http://node-test-45750.onmodulus.net;
  }
}

例如,在Nginx位置塊中,你可能不想要緩存某些內(nèi)容。例如,你通常不會(huì)想要緩存博客平臺(tái)的管理界面的。以下就是禁用[或免除]緩存Ghost管理界面的配置代碼:

location ~ ^/(?:ghost|signout) { 
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_pass http://ghost_upstream;
        add_header Cache-Control "no-cache, private, no-store,
        must-revalidate, max-stale=0, post-check=0, pre-check=0";
    }

緩存NGINX服務(wù)器上的靜態(tài)文件可以顯著減輕Node.js應(yīng)用程序服務(wù)器的負(fù)載,讓它能夠達(dá)到更佳性能。

本次給大家推薦一個(gè)免費(fèi)的學(xué)習(xí)群,里面概括移動(dòng)應(yīng)用網(wǎng)站開(kāi)發(fā),css,html,webpack,vue node angular以及面試資源等。**獲取資料

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

名稱(chēng)欄目:提升Node.js應(yīng)用性能的5個(gè)技巧-創(chuàng)新互聯(lián)
地址分享:http://jinyejixie.com/article32/dcjisc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)品牌網(wǎng)站建設(shè)、Google、網(wǎng)站維護(hù)、云服務(wù)器、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
洛扎县| 驻马店市| 柳州市| 谢通门县| 汉源县| 北京市| 团风县| 常熟市| 平武县| 敖汉旗| 宝应县| 芦山县| 武威市| 昌图县| 嵊州市| 巨野县| 旌德县| 新宁县| 扶沟县| 金溪县| 巢湖市| 连南| 延川县| 余庆县| 桐柏县| 荥阳市| 方正县| 鲜城| 普宁市| 扎鲁特旗| 台南市| 汝城县| 韩城市| 淮南市| 道真| 长丰县| 泸州市| 固阳县| 鄱阳县| 旺苍县| 阳山县|