服务器常识

目录

 

阿里云文档,述说常见的游戏灾难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:带宽  单位:Mbps(兆比特)

@1:案列:       

       比我的带宽10M (意思是10Mbps),那么我理论下载速度:  10/8 = 1.25MB/s  就是理论上每秒可以传输1.25Mb数据。

@2:带宽可以细分:

      上行   就是我上传数据的速度。

      下行   下载数据的速度

      一般是下行速度大于上行的速度,但是一般说的带宽就是指上行带宽。

2:IOPS,吞吐量,qps,tps

      体现存储系统性能的主要指标就是IOPS

      IOPS:就是一秒内,磁盘进行多少次I/O读写

      磁盘的吞吐量:也就是每秒磁盘 I/O 的流量,即磁盘写入加上读出的数据的大小

      每秒 I/O 吞吐量= IOPS* 平均 I/O SIZE。从公式可以看出: I/O SIZE 越大,IOPS 越高,那么每秒 I/O 的吞吐量就越高.

       qps 服务器每秒处理的请求数。或者称每秒响应数(客户端发起到客户端收到结果算一个);

        tps 服务器每秒处理的事务数. (事务指一个功能,比如打开一个页面,一个登入操作,一个事务,可能会多次请求服务器,一个功能的发起到一个功能的完成算一个);

3:什么是环境变量

       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
   不报错则成功。





  

4:DNS

域名解析器,将域名转成可以实际访问的IP

5:什么是CDN

     

CDN的工作原理就是将您源站的资源缓存到位于全国各地的CDN节点上,
用户请求资源时,就近返回节点上缓存的资源,
而不需要每个用户的请求都回您的源站获取,避免网络拥塞、分担源站压力,
保证用户访问资源的速度和体验。

关键点 内容 分发 网络内容:
内容:网站源站的静态内容,比如页面的js/css,视频的mp4/flv,下载的软件安装包等文件
分发:把源站的内容缓存到不同地区的各个节点上
网络:用户访问网站是先访问附近的节点缓存,命中缓存就可以直接获得内容,达到网络加速的效果。


@1:没有CDN的情况   (源服务器,就是自己的服务器)
用户==》通过DNS域名解析得到IP ===》访问源服务器,得到数据
@2:有CDN
用户==》通过DNS==>DSN会转到,备案的  CDN内部的DNS===>得到分配最近的 缓存服务器
     ===》有数据返回给用户,,  找不到就访问源服务器==》返回缓存服务器备份
     ===》数据返回给用户

6:DOS攻击

一个用户的登入,必须先建立网络链接,之后才能进行登入验证处理。
如果模拟无数个用户与服务器建立网络链接,虽然没法正确登入,但是还是占用了服务器的链接资源,
其他正常玩家就无法建立连接,更谈不上登入流程。

7:什么是高并发

   

判断一个系统的并发能力的几个基础指标
1:响应时间:系统对请求做出的响应时间,你可以理解为一个http请求返回所需要的时间
2:吞吐量:单位时间内处理的请求数量
3:QPS:每秒可以出来的请求数。
4:并发用户数:同时承载正常使用系统功能的用户数,也就是多少人同时使用这个系统,这个系统还能正常运行。这个用户数几十并发用户数。


提高并发一般
1:提高服务器的配置
2:增加服务器


一般的互联网公司分层框架
1:客户层:调用方的浏览器或者手机APP.
2:反向代理层: 系统统一入口,反向代理,如:nginx
3:服务层:服务器
4:数据--缓存层,缓存加速访问 存数据。
5:数据-数据库层:数据库固化数据存储。

8:网络字节序和主机字节序

网络字节系 就是 标准化字节系(也就是大端字节系)
主机字节系:就是自己主机内部,内存数据处理方式,可以分为两种
          大端字节系:  高位数据 存储在低位内存中
          小端字节系:  高位数据 存储在高位内存中

按字节为单位,看是从大到小,还是从小到大的排序规则


// 查看主机是大端还是小端
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;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容由流媒体协议等基本知识,视频媒体基本知识,流媒体服务器搭建实战,流媒体工具使用实战等内容组成。由本人“天地会珠海分舵”(http://blog.csdn.net/zhubaitian)耗时一个月整理而成,现分享给大家。 章节内容分布如下: 第1章Streaming 协议和服务器概览学习摘录 7 1.1 Protocol support 8 1.2 Media Container format support 12 第2章Streaming 协议学习摘录 15 2.1 MMS协议简介 15 2.2 RTP相关协议简介 15 2.2.1 RTP与RTCP协议简介 15 2.2.2 RTSP协议简介 16 2.2.3 流传输过程 17 2.3 RTMP vs RTMFP 18 2.3.1 RTMP协议简介 18 2.3.3 RTMFP 简介 19 2.3.4 RTMP VS RTMFP 20 2.4 MPEG-TS 20 2.4.1 MPEG2-TS与MPEG2-PS的区别 20 2.4.2 PES/ES/TS简介 20 2.5 Smooth Streaming 21 2.5 HLS简介 24 2.6 MPEG-DASH 26 2.6.1 简介 26 2.6.2 Dash播放器列表 28 2.6.3 MPD格式 30 2.6.5 MPD在线检查器 31 2.6.5 MPD 格式理解个人小结 31 2.6.6 PMD格式的多样性 32 2.6.7 MPD 支持的Profiles 44 2.6.8 DASH传输协议支持 44 2.7 HLS VS MPEG-DASH 45 2.8 Real Data Transport Protocol 45 2.9 webM 45 第3章 视频容器格式学习摘录 47 3.1 视频容器VS 视频编码 47 3.2 3GP容器 48 3.2 AVI容器(.avi) 49 3.3 WMV vs ASF 容器(.wmv/.asf) 49 3.3.1 ASF高级串流格式简介以及和WMA/WMV的区别 49 3.3.2 ASF和WMA/WMV的区别官方解析 50 3.4 QuickTime容器(.mov) 50 3.5 Ogg vs Ogm容器(.ogg) 51 3.5.1 Ogg容器格式 51 3.5.2 Ogm 51 3.5.3 Ogg vs Ogm 52 3.6 Matroska容器(.mkv|.mka|.mks) 52 3.7 MP4容器 53 3.7.1 简介 53 3.7.2 MP4格式详解 53 3.8 MPEGE TS容器 61 3.9 FLV容器 62 3.10 ABS – Adaptive Bitrate Streaming 自适应串流容器 62 3.11 码率 63 3.12 流媒体的3种格式 63 3.12.1 压缩媒体文件格式 63 3.12.2 流文件格式 64 3.12.3 流媒体发布格式 64 第4章 视频编码格式学习摘录 66 4.1视频编码格式简介 66 4.2主流视频编码格式比较 67 4.2.1 MPEG编码格式 67 4.2.2 DivX/XviD编码格式 68 4.2.3 H.264/X264编码格式 69 4.2.4 WMA-HD/VC-1编码格式 71 4.2.5 各主流编码格式比较 72 4.3 视频解码 73 第5章ffmpeg学习摘录 74 5.1 简介 74 5.2 功能 74 5.3 支持的格式和编码 75 5.4 支持的流媒体协议 76 5.5 ffmpeg视频解码架构示例简略 76 5.5.1 解复用(Demux) 77 5.5.2 解码 (Decode) 78 5.5.3 Ffmpeg中解码流程对应的API函数 78 第6章GStreamer学习摘录 80 6.1 GStreamer简介 80 6.2 GStreamer编写MP3播放器实例 80 6.2.1 初始化GStreamer 80 6.2.2 创建GStreamer管道元件 81 6.2.3 创建元件三元组之GStreamer数据源 81 6.2.4 创建元件三元组之解码器 (即GStreamer过滤器) 插件 81 6.2.5 创建元件三元组之GStreamer接收器 81 6.2.6 链接GStreamer元件三元组到管道 – 播放 82 6.2.7 启动GStreamer管道数据处理流程 82 6.2.8 MP3命令行播放器源代码完整实例 82 第7章 ffmpeg VS GStreamer比较学习摘录 85 7.1 Pipeline设计模式简介 85 7.2 ffmpeg vs GStreamer 86 7.2.1 网上解析翻译 86 7.2.1 FFmpeg和GStreamer异同小结 87 第8章 流媒体服务器搭建摘录 88 8.1 VLC 88 8.1.1 VLC编码和容器兼容性 88 8.1.1 VLC 配置VOD点播 88 8.1.2 VLC 配置组播服务器 90 8.2 Wowza Streaming Engine 91 8.2.1 简介及安装 91 8.2.2 MPEG-DASH 支持 92 8.2.3 如何使用VLC作为直播源 95 8.2.4 点播VOD配置 112 8.3 Nex Gen Media Server (NGMS) 114 8.3.1 Introduction 114 8.3.2 Feature List 115 8.3.3 Practice in Action 116 8.4 IIS Smooth Streaming(IIS Media Service) 117 8.4.1 Getting Started with IIS Smooth Streaming 117 8.4.2 Use VLC to play the Smooth Stream 128 8.4.3 创建Smooth Stream 文件 129 8.4.4 提供DASH服务时IIS的关键设置 129 8.4.5 Dash on IIS步骤 130 第9章 相关工具学习摘录 137 9.1 Bento4 MP4工具包 137 9.1.1 Introduction 137 9.1.2 所包含的工具简介 138 9.1.3 MPEG DASH Adaptive Streaming 139 9.1.4 Serving DASH Streams 147 9.2 MP4Box 149 9.2.1 简介 149 9.2.2 对DASH的支持命令帮助 150 9.2.3 MP4Box: fragmentation, segmentation, splitting and interleaving 153 9.2.4 把MP4转换成TS 155 9.2.5生成不同profile的MPD 155 9.2.6指定每个Representation的bandwidth 156 9.2.7生成多个period的MPD 156 9.2.8生成多个Representation的MPD 156 9.2.9 生成多个Segment的MPD 156 9.2.10 生成(Subsegment) SegmentBase拥有 indexRangeExact 为true的MPD 157 9.2.11 生成多个AdaptionSet的MPD 158 9.2.12 模拟live直播 158 第10章 流媒体服务器搭建指导 159 10.1 所需搭建服务器Matrix 159 第11章 附录 163 11.1 Wowza支持格式 163 11.2 ISO Base Media File Format (IBMFF) 163 11.3 DASH所支持Profile分类 164
C语言是一种通用的编程语言,它可以用于开发各种类型的应用程序,包括服务器应用程序。以下是一些C语言服务器编程的方法和必备常识: 1. 理解网络协议:C语言服务器编程需要对网络协议有一定的了解。常见的网络协议包括TCP/IP、HTTP、FTP等。了解这些协议可以帮助你更好地理解服务器编程的基础知识。 2. 使用Socket编程: Socket是一种用于网络通信的API,可以让你使用C语言进行网络编程。你可以使用Socket编程来创建服务器应用程序,处理客户端请求和响应。Socket编程需要掌握一些基本的函数和概念,如socket()、bind()、listen()、accept()、send()和recv()等。 3. 处理多个客户端:服务器应用程序通常需要同时处理多个客户端请求。为此,你需要使用多线程或多进程技术。多线程技术可以让你在单个进程中同时处理多个客户端请求,而多进程技术则可以让你使用多个进程来处理客户端请求。 4. 了解并发编程:服务器应用程序需要处理大量的并发请求。为此,你需要掌握并发编程的基本知识,例如线程同步、互斥锁、条件变量等。 5. 考虑安全性:服务器应用程序需要考虑安全性,以避免恶意攻击和数据泄露。你需要使用安全编程技术,如SSL/TLS协议、加密算法等,来保护服务器应用程序和通信数据的安全性。 6. 了解操作系统和硬件:服务器应用程序需要运行在操作系统上,因此你需要掌握操作系统和硬件的基本知识,例如进程管理、内存管理、IO操作等。 以上是一些C语言服务器编程的方法和必备常识,希望对你有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值