并发和在线用户数的思考
首先,在线用户数和并量之间的关系 需要搞清楚。
根据先思考业务,得出业务特点
在系统架构时期不要着急去想那个地方会是瓶颈,怎么去优化,而是先根据业务逻辑进行分析系统的特点如下,
业务的特点如是否上班时间使用?
业务处理是否集中在某个固定的时间点,如早上9点为高峰期,临下班10分钟为高峰期?
在线用户的活动特点,是半小时都不动,还是会不停的操作?
操作的内容是什么有什么特点,是集中的系统的某一个模块还是整个系统平均承担点击?
用户主要获取的内容是什么,纯文本、图片、视频?
系统需要具备什么的服务水平?如响应时间,一致性需求,可靠性需求等指标,是否允许操作失败,失败的代价是什么?
能否通过有损服务来提升系统的吞吐量?(如在100人的时候应该时间为0.1s,在1000人的时候为0.5s,用户的容忍量是什么,有损服务带来的代价是什么,能否忍受?)
根据业务特点,有针对性的设计方案
1.使用Squid或者Varnish做缓存代理,将经常访问的图片等静态内容缓存起来,提高访问速度;
2.使用CDN内容分发网络,减少主服务器的压力(附CDN相关内容:CDN通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近);
3.使用LVS服务器负载均衡,LVS服务器结合Keepalived做高可用;
4.LVS下面还可跟Nginx做负载均衡,再次分担压力,比如淘宝使用的再Nginx基础上改进的Tnginx。
5.DNS服务器上也可下功夫,比如做高级视图等等,这样可以解决不同网段访问Web服务器的速度问题;
6.最大的瓶颈还是在IO上,比如存储IO,比如数据库的IO。存储一方面需要保证数据不丢失,另一方面需要保证性能,比如做RAID、LVM;存储还需要考虑使用一套存储之间的数据同步(GFS、OCFS可以实现),数据的备份等等;数据库的话可以考虑使用查询缓存等等,这块我也正在学习中,展开有很多东西;
7.程序的话也可以优化,比如如果是Java Web程序,并且使用了Hibernate框架,就可以考虑使用查询缓存了;
8.硬件层:比如提高带宽,购买高转数性能好的硬盘等等;
摘自:(温国兵 http://www.zhihu.com/question/22002547)感觉回答的较衣详细^_^
补充:
9.根据业务特点进行拆分,如不相关的业务拆分部署、采用无状态的服务,增加系统的水平扩展能力
10.采用针对短期变化不大的数据采用memcached,redis做缓期层,承载绝大多数的访问请求
11.根据IT技术,优化业务流程,而不是仅仅是根据业务描述去凑方案
12.记录系统运行过中真实数据,针对优化用数据说话而不是拍脑袋,不要为了技术而技术为了优化而优化
13.采用业界成熟的方案而不闭门造车,但也不要迷失.
14.和领导积极沟通,获得高层的支持和认可,并争取相应的资源,这个也是很重要的一点.
持续优化
持续优化,不做面子工程
积累人才、技术、工具、流程和方法。
并发的比喻
个人有个不太恰当的比喻,系统是一个写字楼,在线用户数就是里面办公的人数。并发可以指同时出门,同时乘坐电梯、上厕所、出门等的人数。
用户的满意度不仅仅取决于乘坐电梯、上厕所、出门的活动。更多的取决于能否方便到达写字楼,里面的配套设施是否够舒服、物业是否够贴心.....。
写字楼高能够容纳的办公人数越多,理论上并发(电梯、上厕所、出门的)的压力也就越大。我们能做的就是在上、下班高峰期多开几个门,多搞几个电梯、每层多搞几个厕位^_^,把食堂放在中间的楼层;
根据人流适当调整电梯运行的楼层。对设备及时维修,减小故障率...
关于并发测试的术语:http://flymanhi.blog.51cto.com/1011558/1199053
转载于:https://www.cnblogs.com/wangn/p/3812422.html
并发和在线用户数的思考相关推荐
- “并发用户数”、“系统用户数”和“同时在线用户数”的计算公式
与并发用户数相关的概念还包括"并发用户数"."系统用户数"和"同时在线用户数",下面用一个实际的例子来说明它们之间的差别. ...
- jmeter 并发用户数,在线用户数,平均并发 峰值并发
在线用户数与并发用户数的区别和比例关系 在线用户数:用户同时在一定时间段的在线数量 并发用户数:某一时刻同时向服务器发送请求的用户数 一般而言,我们习惯以5-20的比率来推算并发用户与在线用户之间的关 ...
- 关于系统用户数,并发用户数,在线用户数,吞吐量
1. 关于系统用户数,并发用户数和在线用户数 系统用户数 侠义上来说,可以理解为系统注册用户数:广义上来说,可以理解为所有访问过系统的用户数 在线用户数 侠义上来说,可以理解为已登录系统的用户数:广 ...
- 软件测试系统并发数,“并发用户数”、“系统用户数”和“同时在线用户数”之间的差别...
在实际的性能测试中,经常接触到的与并发用户数相关的概念还包括"并发用户数"."系统用户数"和"同时在线用户数",下面用一个实际的例子来说明它 ...
- php如何控制用户数,PHP统计当前在线用户数实例讲解
通常,当访客访问网站时,页面记录用户的cookie信息,当cookie过期即认为用户不在线.本文中我们使用PHP记录访客IP,并在客户端记录cookie及过期时间,同时通过新浪IP地址接口,获取访客的 ...
- 网站日访问量,在线用户数,等如何统计?
最近接触到一些审计相关的事情,公安需要提供一些网站用户相关的数据,作为安全也不知道该找谁问,反正问谁也不知道,只能甩锅.刚好最近学习了一个神奇的知识点可以解决这个问题.在这里做个笔记 使用redis ...
- 91免费视频Redis+Lua解决高并发场景在线秒杀问题
为何要使用Lua脚本解决商品超卖的问题呢? Redis在2.6版本后原生支持Lua脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行. 将复杂的或者多步的redis操作,写为一个脚本,一次 ...
- 类似音速启动的原创工具简码万能助手在线用户数终于突破100了!
原本只是开发出来方便自己的一个小工具,看到群友也喜欢,就随手分享了, 经过1个多月的自然积累,在线用户数终于突破100了,这增长速度实在让人泪奔~ 博客园的朋友如果看到,喜欢的话就拿去用吧, 万能助手 ...
- [业界资讯]腾讯QQ同时在线用户数突破8000万
腾讯公司数据显示:2009年10月10日20点,腾讯QQ同时在线用户突破8000万.要知道,根据CNNIC(China Internet Network Information Center)最新发布 ...
最新文章
- 第三周项目一-个人所得税计算器
- 常见的前端vue面试题
- 朴素贝叶斯--实战分析
- 《DirectX 9.0 3D游戏开发编程基础》 第二章 绘制流水线 读书笔记
- 简单英文题 16 Maximum Sum Not Exceeding K(python)
- Python3 中的 asyncio async await 概念(实例)(ValueError: too many file descriptors in select())
- @query传参_前端框架vue中query和params传参
- ggggggggggg
- 计算机学的痛苦可以换专业,在大学里选错了专业,是一种怎样的“痛苦”体验?...
- 程序员每天会阅读哪些技术网站来提升自己?
- 【分享】光纤光缆PPT
- 什么是*.yml文件
- java的protect_java的public,protect,缺省,private修饰符的访问权限
- 面试难,应聘难,好工作,今安在?——《编程之美——微软技术面试心得》为你探路!即将上市,敬请关注!
- 实验12 子网划分
- 原创 HTML5:JS操作SVG实践体会
- C++将地址转成字符串
- 台式计算机鼠标不动,台式电脑鼠标不动了怎么办 鼠标不动了怎么用键盘修复 鼠标不亮了也动不了了怎么办...
- 数据库部分函数依赖、传递函数依赖的区别以及范式判断
- 虚拟机玩DNF提示图标系统组建失败怎么办
热门文章
- 网站推广专员浅析网站推广运营如何提升企业网站转化率?
- 网络营销重点之如何了解用户需求完善网络营销策略
- 网络营销——网站在网络营销优化中不收录了怎么办呢?
- java已知一个二叉树_Day58:对称的二叉树
- 怎么把ide改成ahci_如何将硬盘由IDE模式修改为AHCI模式,我的主板是华硕P8Z68-VLX,请高手帮帮忙。...
- mysql 网络io_MySQL的各种网络IO超时的用法和实现
- mysql user 用户名长度_为什么注册的用户账号长度不能超过5个字符
- matlab根轨迹法串联超前校正,4.7基于根轨迹法的串联超前校正.ppt
- docker 删除容器_Docker (二) Windows10专业版安装教程
- 吃CPU的openmp 程序