浅谈10个提升应用程序10倍性能的技巧

提高Web应用程序性能比以往任何时候都更加重要。在线经济活动的份额正在增长;超过5%的发达国家的经济现在是在互联网上的(参见参考资料中的互联网统计数据)。而我们这个始终在线、高度连接的现代世界意味着用户的期望比以往任何时候都要高。如果您的站点没有立即响应,或者您的应用程序不能立即工作,用户将很快转向您的竞争对手。

例如,亚马逊近10年前的一项研究证明,即使在那时,页面加载时间每减少100毫秒,收入也会增加1%。最近的另一项研究强调了这样一个事实:超过一半的受访网站所有者表示,由于应用程序性能不佳,他们失去了收入或客户。

一个网站需要多快?每加载一个页面一秒钟,大约有4%的用户会放弃它。顶级电子商务网站提供从1秒到3秒的首次互动时间,这提供了很高的转化率。很明显,web应用程序性能的风险很高,而且可能还会增加。

想要提高性能很容易,但实际看到结果却很难。为了帮助你的旅程,这篇博客文章为你提供了10个技巧,帮助你将网站性能提高10倍。这是一个系列文章的第一部分,详细介绍了如何在一些经过良好测试的优化技术的帮助下,并在NGINX的支持下,提高应用程序的性能。本系列还概述了在此过程中可能获得的安全性改进。

技巧1 -使用反向代理服务器加速并保护应用程序

如果您的web应用程序在一台机器上运行,那么性能问题的解决方案可能很明显:使用一台更快的机器,拥有更多处理器、更多RAM、更快的磁盘阵列,等等。然后,新机器可以运行您的WordPress服务器,Node.js应用程序,Java应用程序等,比以前更快。(如果您的应用程序访问数据库服务器,解决方案可能看起来仍然很简单:获得两台更快的机器,以及它们之间更快的连接。)

问题是,机器的速度可能不是问题所在。Web应用程序通常运行缓慢,因为计算机在不同类型的任务之间切换:在数千个连接上与用户交互、从磁盘访问文件、运行应用程序代码等等。应用程序服务器可能会崩溃——耗尽内存、将内存块交换到磁盘,并让许多请求等待磁盘I/O等单个任务。

您可以采用完全不同的方法,而不是升级硬件:添加反向代理服务器来卸载这些任务。反向代理服务器位于运行应用程序的机器前面,处理Internet流量。只有反向代理服务器直接连接到Internet;与应用服务器的通信是通过一个快速的内部网络进行的。

使用反向代理服务器可以让应用服务器从等待用户与web应用程序交互的过程中解放出来,并让它集中精力构建页面,以便反向代理服务器通过Internet发送。不再需要等待客户机响应的应用程序服务器可以以接近优化基准测试的速度运行。

添加反向代理服务器还可以增加web服务器设置的灵活性。例如,如果一个给定类型的服务器被重载,可以很容易地添加另一个相同类型的服务器;如果服务器宕机,可以很容易地替换它。

由于它提供的灵活性,反向代理服务器也是许多其他性能提升功能的先决条件,比如:

  • 负载平衡(参见技巧2)——负载平衡器运行在反向代理服务器上,以便在多个应用服务器之间均匀地共享流量。有了负载平衡器,您就可以添加应用程序服务器,而不需要更改您的应用程序。

  • 缓存静态文件(参见技巧3)——直接请求的文件,如图像文件或代码文件,可以存储在反向代理服务器上,并直接发送到客户机,这样可以更快地为资产提供服务,并卸载应用程序服务器,从而使应用程序运行得更快。

  • 保护您的站点——反向代理服务器可以配置为高安全性,并进行监视,以便快速识别和响应攻击,保护应用程序服务器。

NGINX软件是专门为用作反向代理服务器而设计的,具有上面描述的附加功能。NGINX使用事件驱动的处理方法,这比传统服务器更有效。NGINX Plus添加了更高级的反向代理特性,比如应用程序健康检查、特殊的请求路由、高级缓存和支持。

「技术架构」10个10倍提升应用程序性能的技巧

技巧2 -添加一个负载平衡器

添加负载平衡器是一个相对容易的更改,它可以显著提高站点的性能和安全性。不需要使核心web服务器更大更强大,而是使用负载平衡器在多个服务器之间分配流量。即使应用程序编写得很差&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网站开发建设专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值