目录
阿里云文档,述说常见的游戏灾难https://help.aliyun.com/document_detail/64680.html?spm=a2c4g.11174283.6.573.241166308gTZXf
1:带宽 单位:Mbps(兆比特)
2:IOPS,吞吐量
3:什么是环境变量
4:DNS
5:什么是CDN
6:DOS攻击
7:什么是高并发
8:网络字节序和主机字节序
@1:案列:
比我的带宽10M (意思是10Mbps),那么我理论下载速度: 10/8 = 1.25MB/s 就是理论上每秒可以传输1.25Mb数据。
@2:带宽可以细分:
上行 就是我上传数据的速度。
下行 下载数据的速度
一般是下行速度大于上行的速度,但是一般说的带宽就是指上行带宽。
@3:购买选择,以阿里云公网带宽,为列
如是列出以下推荐列表:
1、日PV1000以下的企业站、小型商城、小型门户:
购买1M的带宽,1G内存就够了。
2、日PV1000以上,一万以下的中型商城、中型门户站:
购买2M的带宽,2G内存
3、日PV超过一万,大中型商城、大中型门户站:
购买5M以上带宽、4G以上内存。
对于刚刚起步的,1m的带宽完全足够,等有了足够的人气,网站规模渐渐做大时,可以再考虑增加内存和带宽!
地域的话,三个大陆的差距不大,可以选便宜的那个,偏南方客户可以选杭州,偏国外的,就选香港!
体现存储系统性能的主要指标就是IOPS
IOPS:就是一秒内,磁盘进行多少次I/O读写
磁盘的吞吐量:也就是每秒磁盘 I/O 的流量,即磁盘写入加上读出的数据的大小
每秒 I/O 吞吐量= IOPS* 平均 I/O SIZE。从公式可以看出: I/O SIZE 越大,IOPS 越高,那么每秒 I/O 的吞吐量就越高
a = /opt/code
相当于给用户或系统设置一个变量,在任何地方调用 这个变量(a) 都可以得到 对应的值(/opt/code)
在window 下 计算机-->高级系统设置--->环境变量
用户变量:这个变量只有这个用户使用有效
系统变量: 这个变量全部用户都有效
在linux下
1:调用变量
$(变量名)
2:查看某个变量
echo $(PATH)
3:查看全部变量
export
4:临时添加环境变量,离开当前shell 失效
[root@localhost u-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH
5:添加当前用户 环境变量,该用户永久有效 (可以加在home/.bash_profile 或 home/.bashrc)
在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑guok用户目录(/home/)下的.bash_profile
$ vi /home/.bash_profile
添加如下内容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:要想马上生效还要运行$ source /home/.bash_profile不然只能在下次重进此用户时生效。
注: 有的系统 .bash_profile 是 .profile
6:bash首先执行/etc/profile脚本,/etc/profile脚本先依次执行/etc/profile.d/*.sh
随后bash会执行用户主目录下的.bash_profile脚本,.bash_profile脚本会执行用户主目录下 的.bashrc脚本,
而.bashrc脚本会执行/etc/bashrc脚本。
至此,所有的环境变量和初始化设定都已经加载完成.
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。所以修改这个文件,没有重载,用户重登也不会生效
而/etc/bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。所以修改这个,不重载用户重登会生效
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。 所以修改这个,不重载用户新打开shell会生效
7:永久添加环境变量(影响所有用户)
# vim /etc/profile
在文档最后,添加:
export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"
保存,退出,然后运行:
修改完重载 #source /etc/profile
不报错则成功。
域名解析器,将域名转成可以实际访问的IP
CDN的工作原理就是将您源站的资源缓存到位于全国各地的CDN节点上,
用户请求资源时,就近返回节点上缓存的资源,
而不需要每个用户的请求都回您的源站获取,避免网络拥塞、分担源站压力,
保证用户访问资源的速度和体验。
关键点 内容 分发 网络内容:
内容:网站源站的静态内容,比如页面的js/css,视频的mp4/flv,下载的软件安装包等文件
分发:把源站的内容缓存到不同地区的各个节点上
网络:用户访问网站是先访问附近的节点缓存,命中缓存就可以直接获得内容,达到网络加速的效果。
@1:没有CDN的情况 (源服务器,就是自己的服务器)
用户==》通过DNS域名解析得到IP ===》访问源服务器,得到数据
@2:有CDN
用户==》通过DNS==>DSN会转到,备案的 CDN内部的DNS===>得到分配最近的 缓存服务器
===》有数据返回给用户,, 找不到就访问源服务器==》返回缓存服务器备份
===》数据返回给用户
一个用户的登入,必须先建立网络链接,之后才能进行登入验证处理。
如果模拟无数个用户与服务器建立网络链接,虽然没法正确登入,但是还是占用了服务器的链接资源,
其他正常玩家就无法建立连接,更谈不上登入流程。
判断一个系统的并发能力的几个基础指标
1:响应时间:系统对请求做出的响应时间,你可以理解为一个http请求返回所需要的时间
2:吞吐量:单位时间内处理的请求数量
3:QPS:每秒可以出来的请求数。
4:并发用户数:同时承载正常使用系统功能的用户数,也就是多少人同时使用这个系统,这个系统还能正常运行。这个用户数几十并发用户数。
提高并发一般
1:提高服务器的配置
2:增加服务器
一般的互联网公司分层框架
1:客户层:调用方的浏览器或者手机APP.
2:反向代理层: 系统统一入口,反向代理,如:nginx
3:服务层:服务器
4:数据--缓存层,缓存加速访问 存数据。
5:数据-数据库层:数据库固化数据存储。
网络字节系 就是 标准化字节系(也就是大端字节系)
主机字节系:就是自己主机内部,内存数据处理方式,可以分为两种
大端字节系: 高位数据 存储在低位内存中
小端字节系: 高位数据 存储在高位内存中
按字节为单位,看是从大到小,还是从小到大的排序规则
// 查看主机是大端还是小端
int main()
{
unsigned long a = 0x12345678;
unsigned char *p = (unsigned char *)(&a);
printf("主机字节序:%0x %0x %0x %0x\n", p[0], p[1], p[2], p[3]);
unsigned long b = htonl(a); //将主机字节序转化成了网络字节序
p = (unsigned char *)(&b);
printf("网络字节序:%0x %0x %0x %0x\n", p[0], p[1], p[2], p[3]);
return 0;
}