浅谈10个提升应用程序10倍性能的技巧
SPDY协议要求使用SSL/TLS;HTTP/2并没有正式要求它,但是到目前为止,所有支持HTTP/2的浏览器都只在启用SSL/TLS时才使用它。也就是说,支持HTTP/2的浏览器只有在网站使用SSL且服务器接受HTTP/2流量时才使用它。否则,浏览器通过HTTP/1.x进行通信。 当您实现SPDY或HTTP/2时,您不再需要典型的HTTP性能优化,例如域分片、资源合并和图像spriting。这些更改使您的代码和部署更简单、更容易管理。要了解更多关于HTTP/2带来的变化,请阅读我们的白皮书《Web应用程序开发人员的HTTP/2》。 ![]() 作为支持这些协议的一个例子,NGINX从一开始就支持SPDY,现在大多数使用SPDY的站点都运行在NGINX上。NGINX也是HTTP/2支持的先驱,截至2015年9月,NGINX开源和NGINX Plus都支持HTTP/2。 随着时间的推移,我们NGINX希望大多数站点能够完全启用SSL并迁移到HTTP/2。这将导致安全性的提高,并且,随着新的优化的发现和实现,更简单的代码执行得更好。 技巧7 -更新软件版本 提高应用程序性能的一个简单方法是根据组件的稳定性和性能为软件堆栈选择组件。此外,由于高质量组件的开发人员可能会追求性能增强并随着时间的推移修复bug,因此使用较新的稳定版本的软件是值得的。新版本得到了开发人员和用户社区的更多关注。更新的构建还利用了新的编译器优化,包括针对新硬件的调优。 稳定的新版本通常比旧版本更兼容,性能更高。当您关注软件更新时,更容易掌握调优优化、bug修复和安全警报。 使用旧的软件也会阻止您利用新功能。例如,上面描述的HTTP/2目前需要OpenSSL 1.0.1。从2016年年中开始,HTTP/2将需要于2015年1月发布的OpenSSL 1.0.2。 NGINX用户可以从移动到较新版本的NGINX或NGINX Plus开始;它们包括新的功能,如套接字分片和线程池(请参阅技巧9),并且都在不断地进行性能调优。然后深入了解您的堆栈中的软件,并尽可能地使用较新的版本。 技巧8 -调优Linux的性能 Linux是当今大多数web服务器实现的底层操作系统,作为基础设施的基础,Linux代表着提高性能的重要机会。默认情况下,许多Linux系统都进行了保守的调优,以使用很少的资源并匹配典型的桌面工作负载。这意味着web应用程序用例至少需要一定程度的调优才能获得很大的性能。 Linux优化是特定于web服务器的。以NGINX为例,下面是一些你可以考虑的加速Linux的变化:
对于NGINX,请查看NGINX性能调优指南,了解如何优化您的Linux系统,使其能够轻松处理大量网络流量! 技巧9 -调优Web服务器的性能 无论使用什么web服务器,都需要根据web应用程序性能对其进行调优。下面的建议通常适用于任何web服务器,但是为NGINX提供了特定的设置。主要包括:优化 访问日志—您可以缓冲内存中的条目,并将它们作为一个组写入磁盘,而不是立即为每个请求写入一个日志条目。对于NGINX,将buffer=size参数添加到access_log指令中,以便在内存缓冲区满时将日志条目写入磁盘。如果添加flush=time参数,缓冲区内容也会在指定的时间之后写入磁盘。 缓冲—缓冲将响应的一部分保存在内存中,直到缓冲区填满为止,这可以提高与客户机的通信效率。不适合内存的响应被写入磁盘,这会降低性能。当NGINX缓冲打开时,使用proxy_buffer_size和proxy_buffers指令来管理它。
![]() 小费。当更改任何操作系统或支持服务的设置时,每次更改一个设置,然后测试性能。如果更改导致问题,或者没有使站点运行得更快,请将其更改回来。 有关优化NGINX web服务器的更多信息,请参阅我们的博客文章“优化NGINX以获得性能”。 技巧10 -监控活动以解决问题和瓶颈 应用程序开发和交付的高性能方法的关键是密切和实时地观察应用程序的实际性能。您必须能够监视特定设备内和跨web基础设施的活动。 监控站点活动主要是被动的——它告诉您发生了什么,然后让您发现问题并修复它们。 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |