容量和性能  

容量规划是基于当前性能判断系统需要什么及什么时候需要,它既是资本支出合理化证明过程也是一个技术变更;  
性能调优是优化已存在的系统性能;  
一般服务的升级步骤是:性能调优 -> 容量规划  
容量规划是建立在明确的需求上面的,不然你无法确认要达到的目的,就不知道要改做出什么的规划.

需求分类:
- 性能
1 对外服务监测
2 业务需求
3 用户期望
- 容量
1 系统度量指标
2 资源上限

网络容量监测

- 通过工具监测指标,查看是否正常
- 负载均衡问题  
1 在部署和研究容量上很方便  
2 如何确定服务器情况

通过负载均衡来找web服务器的上限
1 通过工具重放真实日志,通过负载均衡器来调整应用访问,找到真实的上限
2 应注意应用的线程上限,网络限制,cpu限制,避免应用崩溃

应用程序监测

- 应用层指标测量方式   
1 通过脚本定期获取业务数据指标,来追踪应用运行情况

- 存储容量   
1 存储介质的最大容量   
2 在存储介质之上的数据访问速度

- 消耗率  
跟踪目前消耗情况,预测未来消耗

- 存储I/O模式  
1 待读数据量  
2 待写数据量  
3 CPU等待读写时间  
4 通过工具来获取执行指标

- 日志和备份  
需要注意它们占用存储情况

测量WEB服务器的负载
1 需要根据系统和应用层的度量指标来观察度量指标
a. 缩小硬件资源范围,通过不断剔除平稳的资源,找到瓶颈点(内存 磁盘I/O 网络资源)
b. 然后再针对瓶颈点解决问题

数据库容量监测

监测指标  
1 每秒的操作数(增删改查)  
2 当前打开的连接数  
3 复制时数据库间的滞后时间  
4 高速缓存命中率

测量方式:
1 资源消耗评估,查看CPU,网络,磁盘I/O的限制
2 通过工具观测容量消耗情况,可以通过加大负载的方式,加速获取瓶颈点

缓存系统监测

分为前端缓存和后端缓存两种  
前者采用反向代理方式,缓存内容不再请求后端服务器;  
后者是数据缓存,不再请求数据;相对来说前端缓存效果更好后端缓存结构简单;

监测指标  
1 命中率  
2 总请求率  
3 对象平均大小  
4 LRU参考时间

测量方式:
1 增加负载,获取瓶颈点
2 可能实际使用中会定义最长响应时间,我们也要通过增加负载的方式,获取到突破阈值的请求率和瓶颈点,和缓存效率数据

多用途服务器监测

实际服务器中为了增加利用率,会部署多个应用,这时的监测也会变的复杂.

测量方式:
1 隔离应用并测量其资源消耗,列举出来,可以更清晰
如: 图片上传 磁盘I/O和网络利用率
图片处理 CPU利用率
2 保持其他应用资源使用量稳定,以便于目标应用测量
3 然后根据目标用户数量,来判断需要多少部署多少机器

API使用率及其对容量的影响

开放API可以提高外部对于应用访问的访问效率,但是存在滥用的情况.    
通过工具检查外部来源标识,可以获取API访问率,来确定是否存在滥用的情况.

参考资料:<Web容量规划的艺术-John Allspaw>

web容量规划的更多相关文章

  1. MongoDB的容量规划及硬件配置

    mongo是基于内存的数据库,应尽量将工作集中的数据全部加载到内存中,即内存应大于工作集 本文译自Chad Tindel的英文博客: http://www.mongodb.com/blog/post/ ...

  2. 二 mysql容量规划,性能测试

    何为基线- 当前运行状态记录.快照- 用于和未来的状态进行对比- 未来时刻产生关键事件后的新状态,作为下一个基线基线数据收集,关注哪些要点- 系统负载- MySQL运行状态- 相应的业务指标1.系统& ...

  3. MySQL容量规划之tcpcopy应用之道

    官方文档:https://github.com/session-replay-tools/mysql-replay-module tcpcopy可以将正式环境上来自客户端的请求复制一份到测试端并复现, ...

  4. Hbase集群类型|集群配置|服务器选型|磁盘容量规划

    HBase和Hadoop的集群类型 1.单机模式 主要用于开发工作,一台机器上运行所有的守护进程,或者一台机器运行多个虚拟机.一般用于评估和测试. 2.小型集群 20台机器以内的集群,不同的机器运行不 ...

  5. Elasticsearch集群规模和容量规划的底层逻辑

    转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484628&idx=1&sn=666e416ae ...

  6. MySQL容量规划和性能测试

    性能容量关键指标: 每秒tps,峰值tps 基础数据量,日均增长数据量 最大连接数 内存分配 IOPS 重点关注指标: 业务指标: 每秒并发用户请求.每秒订单数.用户请求响应时长 折算成性能指标: q ...

  7. 调用高德地图web api 规划路线

    实现地图输出,出发地与目的地路线,效果如下 具体代码如下 <!doctype html> <html> <head> <meta charset=" ...

  8. elasticsearch容量规划

    https://docs.bonsai.io/article/123-capacity-planning Capacity Planning Capacity planning is the proc ...

  9. PHP-学习大规模高并发Web系统架构及开发推荐书籍

    以下书籍内容涵盖大型网站开发中几个关键点:高可用.高性能.分布式.易扩展.如果想对大规模高并发Web系统架构及开发有很系统的学习,可以阅读以下书籍,欢迎补充! 一.<Linux企业集群—用商用硬 ...

随机推荐

  1. 【layui】layer.photos 相册层动态生成Img 中出现的问题的解决方案

    layui版本:2.5.5 参照文档:https://www.jianshu.com/p/c594811fa882 他的3.8的解决方案有一些调整因为发现他的解决方式有些繁琐而最新的2.5.5版本中有 ...

  2. 学而不思则罔 - SAP云平台ABAP编程环境的由来和适用场景

    最近Jerry写了一系列关于SAP云平台ABAP编程环境的技术文章,这些文章都是围绕着在云上的ABAP编程环境的具体知识点来分享,比如要完成一个具体的开发需求,所需要的编程步骤.这些文章陆续收到一些读 ...

  3. python之变量的数据类型(3)dict 及解构简单介绍

    一.变量的数据类型(3) 1. dict 字典dict 用{}来表示 键值对数据 {key:value} 唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 2.增删 ...

  4. websocket趣说_转

    websocket协议:https://tools.ietf.org/html/rfc6455 作者:Ovear链接:https://www.zhihu.com/question/20215561/a ...

  5. request-html 简单爬虫

    import asyncio from requests_html import HTMLSession url = 'http://www.xiaohuar.com/hua/' session = ...

  6. centos6/7添加系统服务

    服务脚本必须存放在/etc/ini.d/目录下:       chkconfig --add mongodb     chkconfig --list mongodb     等级0表示:表示关机   ...

  7. MongoDB/聚合/MR

    管道与Aggregation: 文档结构如下: { "_id" : 1, "item" : "abc", "price" ...

  8. 高并发下redis

    1.================================================================================================== ...

  9. visual studio故障修复

    如果没有安装程序,直接在控制面板——>程序和功能,在列表中找到您安装的vs,右键选择更改,然后程序会启动,做一些准备.然后又三个选项,可以选择修复.

  10. DNS服务概念

    DNS: Domain Name Service域名:www.magedu.com(主机名,FQDN:Full Qualified Domain Name, 完全限定域名)DNS:名称解析,Name ...