利用 NGINX 最大化 Python 性能,第二部分:负载均衡和监控(利用职务之便谋取私利是什么罪)

网友投稿 741 2022-09-07

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

利用 NGINX 最大化 Python 性能,第二部分:负载均衡和监控(利用职务之便谋取私利是什么罪)

Python 以其高性能脚本语言而著称,而 NGINX 则能够通过增加代码的实际执行速度来提供助力。对于单一服务器来说,如果网页的一半由静态文件组成(很多网页都有一半由静态文件组成),增加静态文件缓存可使这类网页性能翻倍,缓存动态应用程序内容能够进一步提升应用程序性能。

但这种方法并不是对所有应用都受用,或者说提升的性能不足够。这时就要考虑横向扩展了---迁移到多服务器应用。多服务器应用不仅功能强大、使用灵活、几乎能够无限扩展,而且成本较低。让我们继续前面的优化 Python 性能。

技巧 6---将 NGINX 作为反向代理服务器

技巧 7---重写 URL

Web 服务器配置通常包括 URL 重写规则。你可以制作美观的 URL 方便用户理解,也可以让 URL 在资源迁移后仍然不变。

下面给出一个使用重写指令的 NGINX 重写规则样板。此规则查找了以 /download开头的 URL,之后还在路径中包含 /media/ 或 /audio/ 目录。此规则用 /mp3/ 替换这些元素,并增加合适的文件扩展名 .mp3 或 .ra。变量 \(1 和 \)2 获取保持不变的路径元素。例如,/download/cdn-west/media/file1 变成 /download/cdn-west/mp3/file1.mp3。

server {    ...    rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;    rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra  last;    return  403;    ...}

要在 NGINX 中实现类似 Apache 的效果,你可以在第一个服务器块中匹配短 URL 的请求,然后把它们重定向到匹配长 URL 的第二个服务器块。

技巧 8---实施负载均衡

扩充网站容量、提高网站可用性的终极办法就是运行多台应用程序服务器并实施负载均衡。

配备 NGINX 的负载均衡 PHP 服务器,要实现 NGINX 负载均衡,首先用你需要均衡的各个服务器来创建一个服务器群组。然后编写配置代码,代码包括服务器权重---如果服务器的处理能力较强,请给它分配较大的权重,给它送去更多流量。

upstream stream_backend {    server backend1.example.com:12345 weight=5;    server backend2.example.com:12345;    server backend3.example.com:12346;}

技巧 9---启用会话持续性和会话耗尽

网络默认用于无状态交互;如果需要特定状态的信息,可以通过若干方法来实施。如果状态位于应用程序服务器上,就得让这台服务器在会话期间处理指定用户的所有请求,这就叫做会话持续。

要管理多个负载均衡的服务器,会话耗尽是一项有效工具。利用 NGINX Plus在一台服务器上的上游群组中设置耗尽参数,NGINX Plus 会让这台服务器放松下来,不会给它发送新的请求,而是让现有连接继续下去,直到会话结束。

技巧 10---启用监控和管理功能

如果服务器配置较为复杂,在保持高性能和避免宕机时,监测和管理就变得尤其重要。监控 NGINX 状态页,在服务器可能遇到麻烦时通知用户,让用户监测自己的系统,根据信息在问题发生前采取行动。

NGINX 提供了一个内置控制面板来监测 NGINX 服务器的健康状况。你可以收集 NGIGX 面板数据确定每台特定服务器是否有问题。

结论

Python 创建的网站要能够同时吸引众多用户,那就需要强大的性能支持,如果你采用的是 Nginx 做 Web 服务器,可以从上面10个方面来优化性能。

上一篇:创建完美SDK的10个技巧(sdk教程)
下一篇:使用 NGINX 进行微程序缓存的好处(使用苦舍恒)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~