2014年12月份 iphone 刚出了6 和6plus。由于比较穷就买了一个6 plus 16G。因为本人喜欢大屏。为了苹果的系统下来订单。
等了一个月手机才到高高兴兴的使用的.刚开始用用着很好。偶尔清理下照片就好了。现在俩年多过去了。发现空间不够用了。
各种卸载软件。刚开始用什么都有app 。慢慢把不常用的app 卸载了。到了最近为了下载王者荣耀。基本上手机上没有几个app了。
后来想了想。俩年的时间it圈的发展太快了。数据量已经成几何倍数的增长。在增长的背后。我们又用什么来保障业务的增长呢?
其实我们能学习的案例很多。最成功的案例也就是阿里了。阿里的技术很牛。很多人在讨论阿里的技术。
双11 业务量有太多。其实我觉得你的业务量到不了阿里的数量级。反正我们是到不了。(互联网金融行业)
但是我们的数据量也在增大。我们用什么样的技术来保证我们的业务呢?本次讨论不包括代码级的问题。说起改代码,改架构,那个很长时间也说不完,还得根据业务逻辑来聊聊。
讨论问题:
1. 你任务目前的系统业务量增加10倍 可能出现瓶颈的业务节点是什么?(根据自己的业务思考,10倍压力不够的,那就100倍吧,100倍在不需要的话辞职吧)
2. 你想用什么样的办法 优化你的系统。
3. 增加10倍的压力后。你想怎么管理你的服务器。
精彩回复:
qingduo04:
1. 你任务目前的系统业务量增加10倍 可能出现瓶颈的业务节点时什么?(根据自己的业务思考,10倍压力不够的,那就100倍吧,100倍在不需要的话辞职吧)
对客户来说,直观感觉应该在如下三方面感觉不好
-
登录页面缓慢
-
查询访问缓慢
-
增删改缓慢
2. 你想用什么样的办法 优化你的系统
扩容方式:
采购硬件进行扩容,包含新购主机,更换机械硬盘到SSD盘,热点数据存放到SSD盘,增加读写响应能力
优化方式:
-
优化操作系统参数(读写参数)、优化架构(读写分离)
-
调整数据库参数,清理历史数据
-
根据业务逻辑调整SQL,优化索引,信息收集,数据整合
3. 增加10倍的压力后。你想怎么管理你的服务器
-
nmon等监控主机的CPU、内存等信息或者通过nagios进行监控
-
文件系统级别自动进行空间告警和清理。
-
数据库级别监控数据库的服务,数据库正常与否。
Forgaoqiang:
现在技术图书奖励的讨论少了一些呢 这个参加下 占坑回复 O(∩_∩)O
1. 你任务目前的系统业务量增加10倍 可能出现瓶颈的业务节点是什么?
其实和大部分一样,瓶颈基本上都会出现在I/O位置,再进一步的话就是数据库部分,数据的查询和写入会成为瓶颈。因为一开始设计业务的时候会评估一个大概的用户并发以及最大用户的问题,然后根据对应的情况选择架构设计、开发和生产服务器部署情况。最容易出现问题的地方就是随着大量的数据的突然涌入导致数据库处理不过来。
2. 你想用什么样的办法 优化你的系统。
最直接的方法就是增加硬件,因为设计之初就考虑如何扩展,最有效的方式还是提升硬件性能。其次还是一个非常有效的办法就是临时限制高性能消耗业务的访问,特别是遇到CC攻击时,可以考虑关闭一些大量查询接口。开源中国遭受CC攻击的时候就把搜索功能取消了,避免了高消耗查询对系统的影响。
3. 增加10倍的压力后。你想怎么管理你的服务器。
增加压力后首先得和研发部门确认性能问题,很多时候程序员的一句程序优化胜过运维优化。增加服务器后业务复杂程度就会上升,因此需要优化自动化运维。
Proxydemo|:
1. 你任务目前的系统业务量增加10倍 可能出现瓶颈的业务节点是什么?(根据自己的业务思考,10倍压力不够的,那就100倍吧,100倍在不需要的话辞职吧)
一:流量,如果是10倍或者是100倍,我们最大的压力可能是流量,对于整站https,很多东西不能上cdn,和云存储,静态的东西相对比较少,一些图片放在云上,七牛或者又拍云。但是我们这个行业,如果业务增加到100倍,估计就是行业的巨头了,到时候买流量也没有什么压力;
二:中间件压力,对宇前端可以用nginx和ha来负载,但是反向代理的中间件比如tomcat,默认并发是150.肯定来不及处理前端的数据,然后尽量做到异步来处理信息,我们是用的阿里开源的rockermq集群和zookeeper,这点和电商是有区别的
三:数据库的压力,相对于电商的数据,我们要的相当于安全。数据库的压力对于对与普通电商来比相对较小;但是也有是,我们变态的地方是日志也记录在DB中
四:服务器的压力,堆一大堆的服务器是必须的,由于行业原因,我们是不上公有云的,所以后期肯定是docker化;
五:构建,发布,回滚。现在我们已经是分布式的微服务,100多个应用,单单用jenkins是有压力的。
六:安全:网络,数据库,灾备的安全都要考虑进去
2. 你想用什么样的办法 优化你的系统。
一:流量:不涉及money和隐私的全不用云或者cdn。买流量;
二:尽量异步和对应用的服务器来提高中间件的处理速度
三:数据库集群,redis,对于业务的需求使用不同类型的数据库,当然数据库优化是最基础的
四:服务器数量的增多,肯定是要docler化。批量管理工具ansible+salt联合使用,估计监控zabbix也要重新定制和二次开发
五:构建,发布,回滚必须有个二次开发的平台。多种自动化的工具配合使用
六:对于代码级别的要找专业的安全公司去审核。然后机房必须做到异地灾备;
3. 增加10倍的压力后。你想怎么管理你的服务器。
二次开发造个大轮子,cmbd。那个时候,钱不会少。也会好玩很多。
另外,书很想要,看看阿里是怎么做的。
chenxing2:
1. 你任务目前的系统业务量增加10倍 可能出现瓶颈的业务节点是什么?(根据自己的业务思考,10倍压力不够的,那就100倍吧,100倍在不需要的话辞职吧)
目前系统出现瓶颈的节点是 DB,应用服务器目前有负载均衡,可以方便扩容没啥问题。
而DB,目前只有一个主库,一个从库,从库目前还没利用。写了一个读写分离的还发布上线。
2. 你想用什么样的办法 优化你的系统。
对于网站系统来说,前端可以加cdn,nginx,vanish等来处理,只是我们没有前端,APP直接调用后台的服务接口。
为减轻DB的压力,通常做法是加缓存,但业务系统太复杂,经常N多表关联,子查询之类的,实在是没法加缓存。
后续打算DB增加几台服务器先暂时抗住,看后续是否加内存关系型数据库或是 Ignite之类内存框架,需要调研一下
3. 增加10倍的压力后。你想怎么管理你的服务器
服务器的话,目前都有监控平台对各个服务器的状态进行监控告警。希望docker化,方便后续的动态扩容。
Fl_wolf:
1. 你任务目前的系统业务量增加10倍 可能出现瓶颈的业务节点是什么?(根据自己的业务思考,10倍压力不够的,那就100倍吧,100倍在不需要的话辞职吧) 瓶颈应该是后端的机器处理速度,因为这边的业务来说,代码真!%@$@#@!的很垃圾,只要实现功能,完全没有考虑性能,现在的业务量增加都是一直在横向扩展机器,无脑堆机器。不同的业务瓶颈也可能不一样,比如数据库的查询语句是否优化,是否有做缓存等等。这些都会成为影响体验的一大瓶颈。
2. 你想用什么样的办法 优化你的系统。
系统而言,看系统上跑得什么业务类型吧 根据不同的类型调整 程序的参数,实现资源利用最大化,以及调整系统内核一些参数达到IO最优化等等。
系统成名其实优化的地方不多,剩下就是程序,协议的优化了。
3. 增加10倍的压力后。你想怎么管理你的服务器。
压力多了就是机器多了而已,机器多了用saltstack或者abs就好了
而且可以使用监控查看业务存活以及用ELK查询程序报错与异常情况
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站不拥有所有权,不承担相关法律责任。如发现有侵权/违规的内容, 联系QQ15101117,本站将立刻清除。