安全性java
同时兼顾向合法用户提供服务,以及阻止非受权使用软件及资源的能力。node
健壮、可靠nginx
软件系统在必定的时间内无端障运行的能力、容错能力、恢复能力 。git
可用性、易用性、性能shell
性能是指软件及时提供相应服务的能力。 具体而言, 性能包括速度、 吞吐量和持续高速性三方面的要求 。浏览器
可扩展、可维护、可移植缓存
正在运行的软件系统以适应新需求、变化了的需求的难易程度安全
定义服务器
多快给用户想要的结果网络
考察两个方面:
1.流畅度
2.更少的资源占用
一些证据
页面加载超过3秒,就会发生很差的事情!
反面教材:google.com 正义的速度:baidu.com
计算结果越快出来越好!
消耗大量资源的AI alphaGo VS 省电强劲的大脑 柯洁
性能是平衡之道
在有限的资源下,提供最佳的访问能力及处理速度。木桶原理之:发现最差瓶颈,提高总体效率。呑吐量和响应速度兼顾。
调优是量体裁衣
根据不一样的场景,针对性的提升适用性。如:前台的响应速度,后台的统计结果。前者用户耐心有限,后者须要丰富数据分析。
对性能有正确的认识
量体裁衣,合理优化
全局思惟
总体优化,消除瓶颈
基础的性能观察及调整
平常监控,配置调整
高级话题延伸
并发优化
DNS时间、创建链接时间
输入网址名称(网址)后,浏览器经过查询DNS服务器所须要的时间TCP,请求方(浏览器等)与接受方(服务器)通过一系列协商所须要的时间。
服务器处理时间
接收方(服务器)处理请求所需时间
数据传输时间
从请求方(浏览器等)到接收方(服务器)以及从接收方(服务器)到请求方的时间
白屏及首屏时间
输入网址后至浏览器出现至少1px图片为止用户浏览器首屏内全部的元素呈现所花费时间
用户可操做时间
网站某些功能可使用的时间
页面总下载时间
网站中全部资源加载完成而且可用时间
应用场景
计算密集型,集中式资源使用
IO密集型,分散型资源利用
硬件环境
单机,CPU、内存、磁盘、网络
多机,存储架构、网络架构、应用架构
软件环境
同构系统,多进程、多线程、多层逻辑
异构系统,认证鉴权、数据交互、服务层级
一些术语
QPS 每秒查询次数
TPS 每秒传输的事物处理个数
呑吐量 单位时间内成功地传送数据的数量
响应时间 用户指令到用户接收结果的时间
IO密集型
性能瓶颈
网络IO,阻塞式IO是最大的问题
磁盘IO,SSD
CPU
内存
磁盘
网络:带宽问题,CDN问题
VPS集群
Linode,日本机房,155ms
DigitOcean
阿里云,国内,香港,50ms
腾讯云,国内,香港,50ms
运维监控(咱们不是运维)
调优顺序-从底向上找出瓶颈
提升硬件能力
提升系统处理能力
安装高性能的软件
保障安全性
服务器配置优化
服务器环境安装
Nginx:提升Tomcat静态文件处理能力、负载均衡、反向代理
Centos环境,安装服务端软件,统一采用yum方式
Yum install nginx Yum install java-1.8.0-openjdk.x86_64 Yum install tomat Yum install mariadb Yum install vnstat。。。 你不是运维,不要强求
服务器环境配置
Nginx的主配置目录:/etc/nginx/
Nginx的server配置目录:/etc/nginx/conf.d/
Nginx配置:
进程数 工做线程数 链接超时 上传文件限制 缓存 日志路径
启动服务 中止服务 配置语法测试 平滑加载
服务器环境优化
网络优化 安全性配置 用户组权限 目录规划
服务器常规监控
Top命令 Free命令 Df命令
工具: Xshell Filezilla