当一个网站每天有数千个请求时,底层基础设施必须配备足够的设备来处理如此庞大的流量。在服务器级别管理繁重网络流量的优化可以在两个级别完成:,
处理物理服务器上的大量流量负载有两种主要方法:,
1.线性缩放,投资一台具有大量处理能力、内存、硬盘空间和冗余的机器。这适用于具有许多静态网页的小型网站。例如:一个容量为 500 MHz 的处理器或一个操作系统,它加载了一个 web 服务器,比如 Apache。它通过可靠的连接连接到互联网,例如 E1(每秒 2 MB)或 E3(每秒 34 MB)。这个物理服务器每天可以处理成千上万的访问者。,,
2.服务器的横向扩展和负载平衡:,无论服务器有多大,它们都有一个自然的硬限制。同样适用于服务器上运行的软件(例如:Apache)。虚拟专用服务器或专用服务器托管计划最适合拥有大量日常用户的网站。负载平衡是指在称为服务器池的一组后端服务器之间有效分配传入网络流量。创建更多服务器并平衡服务器之间的负载是管理峰值负载的最佳解决方案。,负载均衡器会立即执行以下功能:,让我们更详细地了解如何处理 Web 服务器的高负载。,
1.处理对网络域的请求,
2.自动缩放,自动缩放是云计算中的一个过程,可确保有正确数量的实例可用于处理当前应用程序的负载。它会在高流量期间自动增加实例数以保持服务器性能,并在流量消退时再次减少实例数。此功能可确保网站的可用性,并允许根据网络流量自动上升和下降。这最适合每小时、每天或每周使用变化的网站。,
3.优化数据库服务器设置,每天都有用户发表新评论,网站所有者添加新页面,修改或删除旧页面以及添加或删除列出的产品。此类活动会在数据库表中创建“漏洞”。这些是数据条目被删除但从未填充的空白。这种间隙会造成碎片并导致更长的提取时间。如果数据库有超过 5% 的空间作为“漏洞”,则必须对其进行修复。多表连接、慢查询和其他低效调用通常会对应用服务器性能产生重大影响,需要定期优化。,,
一些经常修改的数据库设置是:,
max_connections – 此设置通常用于防止单个用户在多用户服务器环境中控制整个服务器。在负载较重的共享服务器中,该值最小可以设置为 10,在专用服务器中,可以设置为 250。,
innodb_buffer_pool_size – 查询结果通常存储在称为“缓冲池”的内存区域中,以便使用 InnoDB 在 MySQL 数据库中进行快速访问。该值设置在 MySQL 可用 RAM 的 50-70% 之间。,
key_buffer_size – 它决定了 MyISAM 表的缓存大小。这大约设置为 MySQL 可用内存的 20%。,
query_cache_size – 此选项仅对单个网站服务器启用,其值设置为 10 MB 或更少,具体取决于当前查询的速度。,4.监控性能并微调 Web 服务器,跟踪 KPI(包括通过服务台、客户服务等获得的轶事/定性客户反馈)以确保网站的最佳性能。对于高流量网站,最好定期审核 Web 服务器。下面提到了一些设置:,
超时:此设置确定 Web 服务器将等待用户发送请求的时间。该值是根据服务器流量设置的。在繁忙的服务器中,它设置为 120 秒。通常,始终建议将此值保持在尽可能低的水平,以避免资源浪费。,
KeepAlive:如果KeepAlive设置为 ON,则 Web 服务器使用单个连接传输所有文件以加载页面。这可以防止需要为加载每个文件建立新的连接。这在繁忙的交通日节省了大量时间。,
MaxKeepAliveRequests –此设置确定可以通过 KeepAlive 连接传输的文件数量。除资源限制等情况外,将此设置为“无限”。,
MaxClients – 它指示在 Web 服务器中,可以同时为多少访问者提供服务。过高的值会造成资源浪费,过低的值会导致访客流失。根据访问者群将其设置为理想值。,
MinSpareServers 和 MaxSpareServers – 应用程序服务器保留一些“工作人员”处于待命状态,以处理突然激增的请求。如果您的站点容易出现访问高峰,请将这些变量配置为适当的限制。,
HostnameLookups – 应用程序服务器可能会尝试找出连接到它的每个 IP 的主机名,这可能会导致资源浪费。为防止出现这种情况,请将 HostnameLookups 设置为“0”。,
5. 开启 HTTP/2,HTTP/2 是最新版本,包含很多性能改进。它通过以下方式改进服务器响应时间:,HTTP/2 需要使用 SSL,这使网站在默认情况下是安全的。,
6.Web 服务器缓存,NGINX 等工具为网站提供了扩展高流量趋势的能力。为了处理动态和静态 Web 服务器请求,NGINX 与主服务器一起配置,NGINX 充当反向代理。凭借其独特的处理能力,该工具可以用有限的资源处理大量连接。作为单线程服务器,即使在高流量的时候,内存和 CPU 的使用也保持相对稳定。在使用 NGINX 作为反向代理的服务器上使用 Engintron(cPanel 插件),进一步提高了高峰流量时的服务器性能。,NGINX 充当用于 Web 服务、反向代理、缓存、负载平衡和媒体流的开源软件。它还可以用作电子邮件(IMAP、POP3)的代理服务器,以及用作 HTTP、TCP 和 UDP 服务器的反向代理、负载平衡器。在使用缓存时,网站速度和内容新鲜度之间总是需要权衡,需要在这两者之间建立完美的平衡。,
7.更强大的数据库服务器/网络服务器,某些应用程序需要为其数据库服务器提供更多容量。在这种情况下,在 CPU 和 RAM 方面分配更多资源将有助于网站在流量大幅增加的情况下更顺畅地运行。一些数据库服务器需要自己的裸机(裸机是指服务器拥有自己的硬件,专为单个客户端构建和使用)与轻量级虚拟 Web 服务器结合使用。示例包括 MS SQL Server。同样,高流量网站也通过向 Web 服务器添加计算和内存资源来获得更高的速度和更高的性能。,
8.对静态对象使用 CDN,网站上的视频或图像通常被定义为静态对象。使用 CDN 为静态对象提供服务将减少主 Web 服务器的压力,这也有助于提高性能。在高流量网站的情况下,CDN 跨多个服务器缓存静态文件,并从离每个访问者最近的位置传送它们,以尽可能消除时间延迟。CDN 通常与标准托管平台结合使用,是实现性能最大化的关键解决方案之一。,
9.数据库缓存,网站性能不佳的主要原因之一是与数据库性能相关的问题。电子商务网站就是此类问题的典型例子。许多内容在整个网站上保持静态或统一,不需要每次都被请求。缓存此类内容可消除浏览器和Web 服务器之间的大量请求。,Memcache 和 Redis 等缓存工具提供了显着的性能提升,可以帮助高流量网站在高负载下运行。这些工具通过在 RAM 中缓存数据和对象来加速数据库驱动的网站,以最大限度地减少需要读取外部数据源的出现次数。,
下面列出了通过控制 Web 服务器上的负载来处理大量流量的网站服务器的更多优化技术:,
1.足够带宽的可用性和资源密集型服务的禁用。,必须确保高流量网站有足够的带宽。借助 LINX、LoNAP 和 INEX 等工具,可以轻松诊断流量瓶颈。监控服务器上所有启用的服务并禁用那些未使用的设置。这个未使用的服务消耗了大量的 CPU 和内存。对于资源繁重的服务,夜间最适合在流量最小的情况下执行备份。将硬盘升级到 SSD 存储(至少对于数据库分区)可以将加载时间减少大约 10%。,
2.让内容更贴近观众,数据离用户越近,用户使用网站的速度就越快。用户使用网站的速度越快,该网站可以为更多的用户提供服务。在快速增长的网站中,将网站拆分成多个节点可以带来性能和容量的快速提升。高流量网站从主要互联网市场的多个交付网站得到显着改善。,
3.网络基础应该完好无损,网络基础知识应始终保持不变,以确保在快速增长的网站的情况下性能流畅。如果将开关设置为 100 MB 而不是 1 GB,或者防火墙设置不必要地检查导致关键性能问题的流量,则设计良好的网站仍然会失败。完整地保留网络基础在服务高性能网站方面起着至关重要的作用。,
4.分片,分片是跨多台机器存储数据记录以满足数据增长需求的方法。跨多个节点/集群进行分片可提高网站的性能。例如:MongoDB。,
5.简化网站设计,具有大量脚本或媒体的网页更可能加载缓慢。因此,对于需要图像、脚本、视频和动态内容的网站,需要采取额外措施来确保良好的性能。,
,当一个网站每天有数千个请求时,底层基础设施必须配备足够的设备来处理如此庞大的流量。在服务器级别管理繁重网络流量的优化可以在两个级别完成:,
处理物理服务器上的大量流量负载有两种主要方法:,跟踪 KPI(包括通过服务台、客户服务等获得的轶事/定性客户反馈)以确保网站的最佳性能。对于高流量网站,最好定期审核 Web 服务器。下面提到了一些设置:
海外网站服务器是怎么处理庞大流量访问的?
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《海外网站服务器是怎么处理庞大流量访问的?》
文章链接:https://zhuji.vsping.com/497748.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
文章名称:《海外网站服务器是怎么处理庞大流量访问的?》
文章链接:https://zhuji.vsping.com/497748.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。