如何估算网站日承受最大访问PV(ip和uv)

2023-11-01 07:40

本文主要是介绍如何估算网站日承受最大访问PV(ip和uv),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

每个老板或客户都会问架构师这个问题. 你设计的网站能承受多大的日访问量. 程序员都会拍胸脯说出一个心理最大数字.说的时候很有信心.其实这个数字大多是猜的.作为一个理性的程序员怎么能用猜呢? 这里就介绍如何计算网站能承受的最高日访问数.

 

一. 我们得先做测试确认基本数据.

多数情况只计算网站日最大访问pv数,而不是ip或uv(用户访问次数).因为对大多数网站来说,相同pv下无论多少IP造成的访问压力是一样的.

造成服务器压力的访问多是对动态页面的请求,因为这些页面需要读写数据库或做更复杂的即时计算.我们的先做实验确定网站动态页面每秒访问成功响应数和每个 请求响应时长. 对于网站来说,多数情况响应时长最多不能超过0.6s.否则用户会感到很慢.理想的情况是0.3s以内. 这个结果可以在网站开发完成后用测试工具获得. 例如我用jmeter工具测试我笔记本上的网站得出如下结果:

上图表明此网站部署. 每秒响应241.7个请求,每个请求平均响应时间为0.081s, 超过90的响应大于0.121s, 其中最长的响应请求时长为0.701s. 我们就以此值为最大测试结果来计算整天此网站能承受的访问PV

二. 计算方法和计算缘由.

根据以上测试结果得知每秒的合理请求相应数约241.7个. 由于每日小时访问数并不均衡,所以我们需要知道每日24小时的每小时流量占日总流量比例和小时最高访问压力. 假设通过其他的类似站点日流量统计得知,此类站点访问压力最大的时间是晚上21点.此时访问流量占了日总PV的33%. 由于统计站点能统计到的最小尺度为小时,而我们的本地测试尺度是秒. 很显然一个小时内每秒的流量也是不均衡的. 所以我们这里要估计晚上21点中最大访问秒的请求数.按照经验可以估计为 “小时pv/3600秒*3″ 也就是把21点的请求按平均分配到每秒.并且把三倍每秒请求作为日最高的秒请求数. 注意不同的站点这个常量是不一样的. 具体要根据实际业务估算(有些 网站例如定时发售什么的这么计算就明显不合适). 对于大部分企业站点来说常量3是可行的.

好了,现在我们知道了本地测试的每秒最大访问,也知道了高烽小时占日访问百分比,也知道了高峰秒的估算值.要计算日最大访问就很容易了.以上估算为例, 日最大访问:

PV = 241.7 ÷ 3 × 3600 ÷ 0.33 ≈ 878909

日最大可承受87.9万pv. 按多数情况的每Ip访问7-10页计算,日可承受IP:10万左右.

三. 可能的意外和需要注意的事项.

  1. 在真实网站项目中 存在多个动态网页. 在本地压力测试时,需要模仿真实访问比例测试多个动态页并且合计出每秒最大压力pv结果,此结果取值于最慢的动态页(千万注意不是取平均值). 模拟真实 动态页面访问比例测试以尽可能做到准确. 在这里要多参考已有同类型站点的页面访问统计结果.
  2. 网站中往往还存在img,js,css等等其他文件访问,这个也会拖慢服务器响应.做模拟测试时要考虑进去.当然还要考虑带宽问题(对于多数动态页面来说带宽不是瓶颈).
  3. 日最高峰小时的秒高峰倍率估算,不同类型的网站根据其业务不同有变化,有两个办法可以解决,一靠长期的观察估算倍率. 二是最好给测试结果留更多的余量以应付突发访问压力增大的情况.毕竟这个计算测试值是理论极限,超过此极限性能会急剧下降.
  4. 对于动态页面来说,一但某个请求程序出错会极大延长响应时间,做压力估算时也要为此留出余量.
  5. 其实在一年中不同的日访问流量也是不同的,节假日流量甚至可以达到平日的两倍或更多.为了网站访问稳定,最好以年最大日访问并且预留30%压力.
      转载:http://www.cnblogs.com/zhengah/

这篇关于如何估算网站日承受最大访问PV(ip和uv)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/php_lina/article/details/66970194
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/321511

相关文章

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

如何关闭Mac的Safari通知? 3招教你关闭Safari浏览器网站通知的技巧

《如何关闭Mac的Safari通知?3招教你关闭Safari浏览器网站通知的技巧》当我们在使用Mac电脑专注做一件事情的时候,总是会被一些消息推送通知所打扰,这时候,我们就希望关闭这些烦人的Mac通... Safari 浏览器的「通知」功能本意是为了方便用户及时获取最新资讯,但很容易被一些网站滥用,导致我们

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

NGINX 配置内网访问的实现步骤

《NGINX配置内网访问的实现步骤》本文主要介绍了NGINX配置内网访问的实现步骤,Nginx的geo模块限制域名访问权限,仅允许内网/办公室IP访问,具有一定的参考价值,感兴趣的可以了解一下... 目录需求1. geo 模块配置2. 访问控制判断3. 错误页面配置4. 一个完整的配置参考文档需求我们有一

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

python通过curl实现访问deepseek的API

《python通过curl实现访问deepseek的API》这篇文章主要为大家详细介绍了python如何通过curl实现访问deepseek的API,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... API申请和充值下面是deepeek的API网站https://platform.deepsee

Nginx 访问 /root/下 403 Forbidden问题解决

《Nginx访问/root/下403Forbidden问题解决》在使用Nginx作为Web服务器时,可能会遇到403Forbidden错误,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录解决 Nginx 访问 /root/test/1.html 403 Forbidden 问题问题复现Ng

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服