精华内容
下载资源
问答
  • Redis——redis干什么

    万次阅读 2018-07-23 20:32:37
    最近阅读了《redis设计...为什么要选择Redis:介绍Redis的使用场景与使用Redis的原因; Redis常用命令总结:包括时间复杂度总结与具体数据类型在Redis内部使用的数据结构; Redis的高级功能:包括持久化、复制、哨兵...

    最近阅读了《redis设计与实现》,这是一本比较枯燥的书,毕竟涉及到redis底层数据结构。我写本文章的目的,主要围绕redis设计与实现这本书整体的一个印象,然后梳理了这本书整体思路:

    1. 为什么要选择Redis:介绍Redis的使用场景与使用Redis的原因;
    2. Redis常用命令总结:包括时间复杂度总结与具体数据类型在Redis内部使用的数据结构;
    3. Redis的高级功能:包括持久化、复制、哨兵、集群介绍;
    4. 理解Redis:理解内存、阻塞;这部分是非常重要的,前面介绍的都可以成为术,这里应该属于道的部分;
    5. 开发技巧:主要是一些开发实战的总结,包括缓存设计与常见坑点。

    本篇文章主要还是讲redis能做什么,为什么能做这些?


    背景

    在面试的时候,常被问比较下Redis与Memcache的优缺点,个人觉得这二者并不适合一起比较,一个是非关系型数据库不仅可以做缓存还能干其它事情,一个是仅用做缓存。常常让我们对这二者进行比较,主要也是由于Redis最广泛的应用场景就是Cache。那么Redis到底能干什么?又不能干什么呢?

    注:笔者会在以后的文章来分析Redis与Memcache的优缺点。


    Redis能做什么

    1. 缓存,毫无疑问这是Redis当今最为人熟知的使用场景。再提升服务器性能方面非常有效;

    2. 排行榜,如果使用传统的关系型数据库来做这个事儿,非常的麻烦,而利用Redis的SortSet数据结构能够非常方便搞定;

    3. 计算器/限速器,利用Redis中原子性的自增操作,我们可以统计类似用户点赞数、用户访问数等,这类操作如果用MySQL,频繁的读写会带来相当大的压力;限速器比较典型的使用场景是限制某个用户访问某个API的频率,常用的有抢购时,防止用户疯狂点击带来不必要的压力;

      注:限速器也是对请求限流的一种实现方式。

    4. 好友关系,利用集合的一些命令,比如求交集、并集、差集等。可以方便搞定一些共同好友、共同爱好之类的功能;

    5. 简单消息队列,除了Redis自身的发布/订阅模式,我们也可以利用List来实现一个队列机制,比如:到货通知、邮件发送之类的需求,不需要高可靠,但是会带来非常大的DB压力,完全可以用List来完成异步解耦;

    6. Session共享,默认Session是保存在服务器的文件中,即当前服务器,如果是集群服务,同一个用户过来可能落在不同机器上,这就会导致用户频繁登陆;采用Redis保存Session后,无论用户落在那台机器上都能够获取到对应的Session信息。

      注:对于基于Redis实现分布式session 笔者会在以后文章接入说明


    Redis不能做什么

    Redis感觉能干的事情特别多,但它不是万能的,合适的地方用它事半功倍。如果滥用可能导致系统的不稳定、成本增高等问题。

    比如,用Redis去保存用户的基本信息,虽然它能够支持持久化,但是它的持久化方案并不能保证数据绝对的落地,并且还可能带来Redis性能下降,因为持久化太过频繁会增大Redis服务的压力。

    简单总结就是数据量太大、数据访问频率非常低的业务都不适合使用Redis。

    数据太大会增加成本,访问频率太低,保存在内存中纯属浪费资源。如果不担心浪费资源,那请忽略。


    Redis为什么能做这些

    上面说了Redis的一些使用场景,那么这些场景的解决方案也有很多其它选择,比如缓存可以用Memcache,Session共享还能用MySql来实现,消息队列可以用RabbitMQ,我们为什么一定要用Redis呢?

    那是因为Redis执行速度快:

    • 速度快,完全基于内存;
    • 使用C语言实现,网络层使用epoll解决高并发问题;
    • 单线程模型避免了不必要的上下文切换及竞争条件;

    注意:单线程仅仅是说在网络请求这一模块上用一个请求处理客户端的请求,像持久化它就会重开一个线程/进程去进行处理

    丰富的数据类型;

    Redis有8种数据类型,当然常用的主要是 String、Hash、List、Set、 SortSet 这5种类型(还有Bitmaps-位图、HyperLogLog、GEO-地理信息定位),他们都是基于键值的方式组织数据。每一种数据类型提供了非常丰富的操作命令,可以满足绝大部分需求,如果有特殊需求还能自己通过 lua 脚本自己创建新的命令(具备原子性);

    除了提供的丰富的数据类型,Redis还提供了像慢查询分析、性能测试、Pipeline、事务、Lua自定义命令、Bitmaps、HyperLogLog、发布/订阅、Geo等个性化功能。

    Redis的代码开源在GitHub,代码非常简单优雅,任何人都能够吃透它的源码;它的编译安装也是非常的简单,没有任何的系统依赖;有非常活跃的社区,各种客户端的语言支持也是非常完善。另外它还支持事务(没用过)、持久化、主从复制让高可用、分布式成为可能。

    做为一个开发者,对于我们使用的东西不能让它成为一个黑盒子,我们应该深入进去,对它更了解、更熟悉。


    总结Redis特性

    1. 速度快

      数据存放在内存中;单线程模式,避免了线程上下文切换及多线程竞争访问;c语言实现,更容易接近系统api;采用epoll非阻塞IO,不在网络上浪费时间;

    2. 支持多种数据类型

      支持8种数据类型:String、Hash、List、Set、 SortSet、Bitmaps、HyperLogLog、GEO;

    3. 功能丰富

      丰富的API,如可设置键过期,存在即设置(这可以用来解决分布式锁问题),基于发布订阅可实现简单的消息队列,通过Lua创建新命令,具有原子性,管道(pipeline)功能,解决网络开销;

    4. 服务器简单

      开源代码优雅,容易阅读源码,采用单线程模型,避免并发问题,redis自己实现了多路复用;

    5. 客户端语言版本多

      如Java、Php、Go

    6. 支持多种持久化方式

      RDB和AOP,这两种持久化深入分析请看:https://blog.csdn.net/u014229282/article/details/81121214

    7. 支持集群部署

      支持主从复制,高可用集群,内部集群方式与Memcache做集群实现不一样的机制。


    本文章来源:https://github.com/Zeb-D/my-review

    展开全文
  • 什么是ISCSI?ISCSI又能干什么呢?

    万次阅读 多人点赞 2019-02-25 23:09:52
    这可以存储的分配变更为有效。 SAN 环境中的服务器无需任何更改硬件或电缆连接就可以得到新分配的磁盘卷。 2)灾难恢复公司希望把存储资源从一个数据中心镜像到另一个远程的数据中心上,后者在出现长时间停电的...

    1.了解SCSI:
    SCSI(Small Computer System Interface) 小型计算机系统接口,一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。SCSI是一种智能的通用接口标准。
    如下图所示是一张SCSI接口的卡:
    在这里插入图片描述
    SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点。
    2.了解ISCSI:
    iSCSI(Internet Small Computer System Interface即Internet小型计算机系统接口),是一种在TCP/IP上进行数据块传输的标准,是由CiSCO和IBM两家公司发起的,并且得到了各大存储厂商的大力支持。iSCSI将SCSI命令封装于TCP/IP包之中,并且使用了一个SCSI帧头。iSCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行快速的数据存取备份操作,也就是基于网络的存储。
    iSCSI又称为IP-SAN(基于IP网络的存储区域网),是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。iSCSI是一种使用TCP/IP协议,在现有IP网络上传输SCSI块命令的工业标准,它是一种在现有的IP网络上无需安装单独的光纤网络即可同时传输消息和块数据的突破性技术。iSCSI基于应用非常广泛的TCP/IP协议,将SCSI命令/数据块封装为iSCSI包,再封装至TCP报文,然后封装到IP报文中。iSCSI通过TCP面向连接的协议来保护数据块的可靠交付。由于iSCSI基于IP协议栈,因此可以在标准以太网设备上通过路由器或交换机来传输。
    在这里插入图片描述
    本质上,iSCSI 让两台主机通过 IP 网络相互协商然后交换SCSI命令。这样一来,iSCSI 就是用广域网仿真了一个常用的高性能本地存储总线,从而创建了一个存储局域网(SAN)。不像某些 SAN 协议,iSCSI 不需要专用的电缆;它可以在已有的交换和 IP 基础架构上运行。然而,如果不使用专用的网络或者子网( LAN 或者 VLAN ),iSCSI SAN 的部署性能可能会严重下降。于是,iSCSI 常常被认为是光纤通道(Fiber Channel)的一个低成本替代方法,而光纤通道是需要专用的基础架构的。但是,基于了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两台计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SA以太网的光纤通道(FCoE)则不需要专用的基础架构。
    虽然 iSCSI 可以与任意类型的 SCSI 设备进行通信,系统管理员几乎总是使用它来连接服务器计算机 (例如,数据库服务器) 和磁盘卷上存储阵列。 使用iSCSI SAN 的目的通常有以下两个:
    1)存储集成公司希望将不同的存储资源从分散在网络上的服务器移动到统一的位置(常常是数据中心); 这可以让存储的分配变得更为有效。 SAN 环境中的服务器无需任何更改硬件或电缆连接就可以得到新分配的磁盘卷。
    2)灾难恢复公司希望把存储资源从一个数据中心镜像到另一个远程的数据中心上,后者在出现长时间停电的情况下可以用作热备份。 特别是,iSCSI SAN 使我们只需要用最小的配置更改就可以在 WAN 上面迁移整个磁盘阵列,实质上就是,把存储变成了“可路由的”,就像普通的网络通信一样。
    3.了解ISCSI SAN:
    iSCSI SAN组件与FC SAN组件相类似。包括以下部件:
    iSCSI Client/Host:系统中的iSCSI客户端或主机(也称为iSCSI initiator),诸如服务器,连接在IP网络并对iSCSI target发起请求以及接收响应。每一个iSCSI主机通过唯一的IQN来识别,类似于光纤通道的WWN。 要在IP网络上传递SCSI块命令,必须在iSCSI主机上安装iSCSI驱动。   
    iSCSI Target:iSCSI target是接收iSCSI命令的设备。此设备可以是终端节点,如存储设备,或是中间设备,如IP和光纤设备之间的连接桥。每一个iSCSI target通过唯一的IQN来标识,存储阵列控制器上(或桥接器上)的各端口通过一个或多个IP地址来标识。

    本机与异构IP SAN:
    iSCSI initiator与iSCSI target之间的关系所下图所示:
    在这里插入图片描述
    iSCSI initiator(或client)是主机服务器,而iSCSI target是存储阵列。此拓扑称为本机iSCSI SAN,它包含在TCP/IP上传输SCSI协议的整个组件。
    与之相反,异构IP SAN,如下图所示,包含在TCP/IP与光纤交换结构传输SCSI的组件。
    在这里插入图片描述
    为了实现这一点,需要在IP与光纤通道之间安装连接桥或网关设备。连接桥用于TCP/IP与光纤通道之间的协议转换。因此iSCSI主机将连接桥看做iSCSI target。
    4.ISCSI的工作流程:
    第一步:iSCSI系统由SCSI适配器发送一个SCSI命令,命令封装到TCP/IP包中并送入到以太网络中进行传输。
    第二步:接收方从TCP/IP包中提取SCSI命令并执行相关操作,执行完毕后,将返回的SCSI命令和数据封装到TCP/IP包中,把它们发回到发送方;
    第三步:发送方的iSCSI系统从接收方发过来的TCP/IP包中提取出数据或命令,并把它们传回到SCSI子系统。

    在这里插入图片描述
    如上图所示,我们会发现使用ISCSI网络存储,客户端会和服务器之间通过SCSI端口建立一条SCSI通道,那么有的人就会有疑问,我的真实设备的接口并不是SCSI接口的,那么是不是不能应用ISCSI网络存储。当然不是的,无论你真实设备的接口是IDE接口或是SATA接口的都可以正常使用ISCSI网络存储,我们可以在这里简单的理解为,客户端与服务器上的SCSI端口是通过SCSI协议标准虚拟出来的用于建立连接的端口。
    通过iSCSI实现存储共享,首先创建IQN用于识别启动器和目标,接着建立TPG共享存储组并设置相应的访问控制权限,然后在共享存储组添加lun逻辑单元(即存储设备),最后建立实现共享portals入口(ip port,就是通过IP进行访问的端口号)。
    相关概念了解:

    TPG:共享存储组,某个特定iSCSI目标要侦听的接口IP地址和TCP端口的集合。可以将目标配置添加到TPG以协调多个LUN的设置。
    ACL:访问权限控制列表,一种使用节点IQN(通常是启动器名称)来验证启动器的访问权限的访问限制。
    IQN:iSCSI限定名称,全球唯一名称,用于以强制命名格式来识别启动器和目标。 IQN格式如下:
    iqn.YYYY-MM.com.reversed.domain[:optional_string] iqn:表示此名称使用域为标识符;
    YYYY-MM:表示拥有域名的年月时间; com.reversed.domain:拥有此iSCSI组织的逆向域名;
    :optional_string:以冒号为前缀的可选字符串,全球唯一,由域所有者分配,其中可包含冒号为分割符的组织边界;
    LUN:逻辑单元号,带有编号的块设备,连接到目标且通过目标来使用。可以有一个或多个LUN连接到单个目标,但通常一个目标提供一个LUN;
    portals入口:目标或启动器上用于建立连接的IP地址和端口号,端口号一般为3260。目标端的portals入口配置使用targetcli命令。

    5.ISCSI网路存储共享案例解析:
    5.1创建ISCSI的存储空间,本案例中我是以磁盘上的一个分区来充当ISCSI存储空间的,实际应用中一般会添加新的磁盘或大容量存储的存储设备:

    [root@localhost ~]# fdisk /dev/sda
    

    在这里插入图片描述

    [root@localhost ~]# partprobe                             //重新读取分区表
    [root@localhost ~]# fdisk –l                              //查看新添加的分区是否成功
    

    在这里插入图片描述
    5.2安装服务端ISCSI服务对应的相关软件包:

    [root@localhost ~]# yum install targetcli –y
    

    5.3创建ISCSI Target目标服务器:

    [root@localhost ~]# targetcli                                 //进入服务端iscsi命令配置信息
    /> ls                                                         //使用ls命令查看菜单结构
    o- / ................................................... [...]               //顶级目录
      o- backstores ........................................ [...]               //后备存储,主备存储空间,要共享的设备或分区得先加入到这里
      | o- block ............................ [Storage Objects: 0]               //块存储,o- backstores子目录
      | o- fileio ........................... [Storage Objects: 0]               //文件存储,o- backstores子目录
      | o- pscsi ............................ [Storage Objects: 0]               //真实物理scsi设备,o- backstores子目录
      | o- ramdisk .......................... [Storage Objects: 0]               //闪存,o- backstores子目录             
      o- iscsi ...................................... [Targets: 0]               //以ISCSI的方式共享存储设备的目录
      o- loopback ................................... [Targets: 0]
    紧接着我们需要将我们准备的分区添加进来(注意我们准备的分区是块设备,所以应将其添加到块设备文件之中):
    /> cd backstores/ block                                                      //切换到块设备文件目录
    /backstores/block> ls
    o- block ................................ [Storage Objects: 0]
    /backstores/block>                                                           //这里是通过Tab键列出了相关命令
    /          bookmarks  cd         create     delete     
    exit       get        help       ls         pwd        
    refresh    set        status     
    /backstores/block> create dev=/dev/sda4 name=lun0          //通过create命令添加设备,dev用来指定要添加的设别是什么,nam为逻辑单元名,可以自定义
    Created block storage object lun0 using /dev/sda4.         //添加成功提示语句
    /backstores/block> ls                                      //通过ls命令查看所添加的设备
    o- block ................................ [Storage Objects: 1]
      o- lun0 ....... [/dev/sda4 (17.9GiB) write-thru deactivated]
    

    5.4将添加上来的存储设备通过目标哦服务器共享出去:

    /> cd iscsi                                  //iscsi目录下实现共享
    /iscsi>                                      //这里是通过Tab键列出了相关命令
    /          @last      bookmarks  cd         create     
    delete     exit       get        help       info       
    ls         pwd        refresh    set        status     
    version   
    /iscsi> create                               //创建共享信息
    Created target iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.d7b8241cf0b2.
    Created TPG 1.
    Global pref auto_add_default_portal=true
    Created default portal listening on all IPs (0.0.0.0), port 3260.
    /iscsi> ls
    o- iscsi ........................................ [Targets: 1]
      o- iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.d7b8241cf0b2  [TPGs: 1]
        o- tpg1 ........................... [no-gen-acls, no-auth]                  //共享存储组
          o- acls ...................................... [ACLs: 0]                  //访问控制信息
          o- luns ...................................... [LUNs: 0]                  //逻辑单元设备
          o- portals ................................ [Portals: 1]                  //入口
            o- 0.0.0.0:3260 ................................. [OK]
    /> cd iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.d7b8241cf0b2/tpg1/   //设置共享存储组的属性
    /iscsi/iqn.20...241cf0b2/tpg1> set attribute authentication=0 demo_mode_write_protect=0 generate_node_acls=1 cache_dynamic_acls=1   //属性认证关闭,演示模式写保护关闭,生成节点acl ,开启缓存动态acl
    Parameter demo_mode_write_protect is now '0'.
    Parameter authentication is now '0'.
    Parameter generate_node_acls is now '1'.
    Parameter cache_dynamic_acls is now '1'.
    /iscsi/iqn.20...241cf0b2/tpg1> cd luns                   
    /iscsi/iqn.20...0b2/tpg1/luns> create /backstores/block/lun0 lun=lun0           //添加共享指定存储设备  
    Created LUN 0.         
    /iscsi/iqn.20...0b2/tpg1/luns> ls                          
    o- luns ............................................ [LUNs: 1]
      o- lun0 ........................... [block/lun0 (/dev/sda4)]
    /iscsi/iqn.20...0b2/tpg1/luns> cd ..
    /iscsi/iqn.20...241cf0b2/tpg1> ls
    o- tpg1 .................................. [gen-acls, no-auth]
      o- acls .......................................... [ACLs: 0]
      o- luns .......................................... [LUNs: 1]
      | o- lun0 ......................... [block/lun0 (/dev/sda4)]
      o- portals .................................... [Portals: 1]                  //默认对所有ip及3260端口进行监听
    o- 0.0.0.0:3260 ..................................... [OK]
    /iscsi> exit                                                                    //退出,默认保存配置信息
    Global pref auto_save_on_exit=true
    Last 10 configs saved in /etc/target/backup.
    Configuration saved to /etc/target/saveconfig.json
    

    5.5启动服务:

    [root@localhost ~]# systemctl restart target.service
    

    5.6查看服务状态:

    [root@localhost ~]# systemctl status target.service
    

    6.测试:
    6.1Windows客户端使用ISCSI发起程序进行测试:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    完成之后选择计算机->管理->磁盘管理你就会发现一块新添加上来的磁盘,如下图所示,如果你需要使用这块新磁盘的话,进行格式化之后即可正常使用:
    在这里插入图片描述
    6.2Linux客户端下进行测试:
    客户端安装起始工具:

    [root@localhost ~]# yum install iscsi-initiator-utils
    

    查看当前虚拟机的磁盘分区情况:

    [root@localhost ~]# fdisk -l
    

    发现iSCSI目标:

    [root@localhost ~]# iscsiadm -m discovery -t sendtargets -p 192.168.10.206
    完整命令(iscsi辅助工具 )--mode为模式,模式为发现—type为类型,发送目标,--portal为门户
    iscsiadm --mode discovery --type sendtargets --portal  192.168.10.206 
    

    登录目标(登录服务器上的一个或多个iscsi目标):
    挂载命令格式:

    iscsiadm --mode node --targetnameiqn.2003-01.org.linux-iscsi.localhost.x8664:sn.d7b8241cf0b2 --portal 192.168.10.206 --login
    

    如下所示:

    [root@localhost ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.mail.x8664:sn.d7b8241cf0b2 -p 192.168.10.206:3260  -l
    

    查看:

    [root@localhost ~]# fdisk -l
    [root@localhost ~]# lsscsi
    

    查看和区分:

    [root@localhost ~]# ll /dev/disk/by-path/
    

    查看日志:

    [root@localhost ~]# grep sdb /var/log/messages
    

    删除:

    targetcli iscsi/ delete iqn.2003-01.org.linux-iscsi.mail.x8664:sn.d7b8241cf0b2
    

    注意:
    1.自动挂载时必须使用UUID,否则会出问题,同时在参数中添加_netdev,如下所示:
    UUID=33899a29-9f9e-476f-b8e9-cc9ad0986dac /mnt xfs defaults,_netdev(启动后网络服务对应的信息,获取到IP地址再执行) 0 0
    2.开机启动关闭防火墙,因为当计算机开机首先是bios自检查找硬盘中的操作系统引导启动,但是当系统没有完全启动时计算机就没有通过网络通讯,而iscsi是基于网络的共享存储,所以开机重启需要告诉内核这条开机挂在是基于网络的存储。

    展开全文
  • ext.reg干什么

    千次阅读 2016-03-02 08:50:16
    ext.reg干什么的  分享| 2012-03-10 18:03wongyi1 | 浏览 2367 次  明星 我有更好的答案 按默认排序 | 按时间排序 1条回答 2012-03-13 16:30huangshan4396 | 七级 最...

    ext.reg干什么的

    2012-03-10 18:03wongyi1 | 浏览 2367 次
    我有更好的答案
    2012-03-13 16:30huangshan4396 | 七级 最快回答
    创建一个新的xtype
    展开全文
  • GPU服务器是干什么的_gpu服务器和普通服务器有什么区别 前言 其实现在很多人都听说或者接触服务器,众所周知,服务器是网络中的重要设备,要接受少至几十人、多至成千上万人的访问,因此对服务器具有大数据...

    GPU服务器是干什么的_gpu服务器和普通服务器有什么区别

     

     

    前言

    其实现在很多人都听说或者接触过服务器,众所周知,服务器是网络中的重要设备,要接受少至几十人、多至成千上万人的访问,因此对服务器具有大数据量的快速吞吐、超强的稳定性、长时间运行等严格要求。但是今天我们了解的是GPU服务器,很明显,从字面上里面,GPU服务器是服务器当中的一种,GPU服务器跟其他服务器有什么区别吗?GPU服务器比其他服务器好用吗?或许大家会有这样的困惑,下面我将带大家了解GPU服务器。

    GPU服务器,简单来说,GPU服务器是基于GPU的应用于视频编解码、深度学习、科学计算等多种场景的快速、稳定、弹性的计算服务,我们提供和标准云服务器一致的管理方式。出色的图形处理能力和高性能计算能力提供极致计算性能,有效解放计算压力,提升产品的计算处理效率与竞争力。

    下面几个场景我们可以使用CPU服务器,如果办公场景需要建议大家配置GPU服务器,如果场景无关,使用普通的服务器也无妨。上海国经网络也会根据大家的使用场景给到大家相匹配的服务器类型和配置!

    一、简单深度学习模型,使用GPU

    服务器为机器学习提供训练或者预测,腾讯GPU云服务器带有强大的计算能力,可作为深度学习训练的平台,

    可直接与外界连接通信。可以使用GPU服务器作为简单深度学习训练系统,帮助完成基本的深度学习模型

    二、复杂深度学习模型,腾讯云GPU服务器具有强大的计算能力,可以将

    GPU服务器作为深度学习训练的平台。结合云服务器 CVM提供的计算服务、对象存储

    COS提供的云存储服务、云数据库MySQL提供的在线数据库服务、云监控和大禹提供的安全监控服务,图片、视频编解码,可以采用GPU服务器进行渲染,利用 GPU 加速器指令,让数以千计的核心为您所用,加快图形图像编码渲染速度。

    这些是一些可以用到GPU服务器的场景,所以如果您的使用需要比较高端,建议还是使用GPU服务器。

    gpu服务器是干什么的_gpu服务器和普通服务器有什么区别
     

    服务器CPU和普通CPU有什么区别?

    下面我们找来了专业的资料文献,快来涨知识吧。总体来说,服务器CPU和普通电脑的CPU主要有六大区别,下面我们一起来看看。

    一、指令集不同

    家用或者用工作用电脑配备的普通CPU,通常为CISC复杂指令集,追求指令集的大而全,尽量把各种常用的功能集成到一块,但是调用速度和命中率相比服务器CPU较低一些。

    服务器CPU的指令一般是采用的RISC(精简指令集)。这种设计的好处就是针对性更强,可以根据不同的需求进行专门的优化,能效更高。

    二、缓存不同

    缓存也决定着CPU的性能,由于服务器CPU对运算性能要求高,所以服务器CPU往往应用了最先进的工艺和技术,并且配备了一二三级缓存,运行能力更强。服务器CPU很早就用上了3级缓存。普通cpu是近几年才用上了缓存技术。

    三、接口不同

    服务器cpu和普通cpu接口往往不同,目前服务器CPU接口大多为Socket 771、Socket 775、LGA 2011、LGA 1150相比普通CPU接口尽管不少相同,但实际上搭配的主板并不相同。服务器cpu配备的主板通常没有显卡卡槽,因为CPU自带的核心显卡即可满足需求,并且其CPU总线带宽比家用CPU高。

    四、稳定性要求不同

    服务器CPU是为了长时间稳定工作而存在的,基本都是设计为能常年连续工作的。服务器CPU相比家用CPU在稳定性和可靠性方面有着天壤之别,一般服务器都是365天开机运行,只有偶尔停机维护,对稳定性要求极高。

    普通CPU则是按72个小时连续工作而设计的,家用电脑在不使用时,我们还是习惯让他保持关机状态,一般每天都会关机。

    gpu服务器是干什么的_gpu服务器和普通服务器有什么区别

    五、多路互联支持不同

    多路互联是服务器上的一项技术,比如服务器主板可以同时拥有多个CPU插槽,可以同时安装多个CPU,这个就是CPU多路互联技术,这项技术目前只有服务器CPU才支持,普通家用电脑,一块主板只可以安装一个CPU,不支持多路互联。

    六、价格不同

    由于服务器CPU针对高稳定性设计,在用料上一般都是选用优质材质,并且支持多路互联和长时间工作,和相同性能的普通CPU比,价格自然也是更高。此外,高端服务器CPU更上运用大量的最新先进技术,价格更贵,因此一般服务器CPU价格都在千元以上,高端服务器CPU都是在万元以上,甚至几十万。

    而普通CPU价格通常几百元到几千元,主流产品价格基本在千元左右。

    以上就是服务器cpu和普通cpu区别,可能很多朋友会问,服务器CPU可以作为家用电脑的CPU吗?答案是否定的,尺有所短寸有所长,两者定位与设计不同。

    因为CPU的性能主要靠主板和内存才能完全发挥出来,而由于先天性的设计特点,很多家用电脑的主板是不适合服务器CPU使用的,即使可以用,很多时候也无法保证发挥出其性能优势。而且服务器主板一般都没有显卡槽,因为对服务器来说用集成显卡即可了,对于游戏性能并没有要求。

    但是在家用领域,独显则是高清游戏必不可少的环节。所以说家用CPU的设计更符合普通PC电脑的特点,而服务器CPU有着其自身的使命与优势。当然,服务器CPU和桌面CPU两者也是可以互相改进的,比如大家熟悉的至强E3-1230V3处理器,就是由服务器CPU改进而来的,屏蔽了核心显卡,主打高性价比。

    使用传统型的服务器面临的现状:

    1.运维困难

    机器固定配置,难以满足变化的需求

    2.系统脆弱,数据丢失 用户手工容灾,依赖于硬件健壮性;数据物理单点,数据安全不可控

    3.费心麻烦

    购买装机管理,自行实现硬件扩展 4.黑客入侵 需额外购买安全防护服务

    5.费用高昂

    租用费用高昂,运维成本高

    展开全文
  • ,你就可以先学习这些小的skill,如果你先学会这些最重要的东西,你就在最短的时间提升自己的表现。 例子来了: 我学习PS的时候,其实主要需求是做海报,偶尔PPT展示需要做几张图,自己有时候参加各种...
  • Docker是用来干什么的?

    万次阅读 2016-04-28 14:41:58
    译者注:虽然使用命令也非常地安装 MySQL 数据库,但是当用到最新的技术或者非常复杂的技术时,使用 Docker 便会是个非常好的选择,例如 : 事件 普通用户 Docker用户 安装Gitlab 一...
  • 程序员35岁以后干什么?大龄程序员现状揭秘

    万次阅读 多人点赞 2019-05-18 06:25:17
    今年47,五十了,每天编程时间平均六到八小时。 身体肯定比不上年轻人了,三十岁的时候,我连续编程时间可以在二十小时以上,经常有人第一天上班看见我在公司,第二天上班看见我还在公司。 年纪大了,明显容易...
  • 恢复二极管(简称FRD)是一种具有开关特性好、反向恢复时间短特点的半导体二极管,主要应用于开关电源、PWM脉宽调制器、变频器等电子电路中,作为高频整流二极管、续流二极管或阻尼二极管使用。目前恢复二极管...
  • ERP实施顾问是干什么的?

    千次阅读 2016-12-15 16:13:05
    他们精通ERP理论与ERP软件的使用方法,熟练运用项目实施方法论,能够有效处理实施过程中出现的种种问题,他们是经营管理的专家,很多人有在不同行业实施不同ERP项目的丰富经验,在项目实施的各个阶段都得心应手...
  • “程序员到35就不行了!”这是我们IT行业普遍存在的一种说法,而且还有各种年龄版本,有的说到30岁;有的说到35岁;有的说到40岁,达到这个年龄上限...但小开见了太多国内开发者,也接触许多国外的程序员。负...
  • stdafx.h、stdafx.cpp是干什么用的

    千次阅读 2008-11-10 12:34:00
    stdafx.h、stdafx.cpp是干什么用的 stdafx.h、stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间...
  • 转:知乎问答响马:今年 47,五十了,每天编程时间平均六到八小时。身体肯定比不上年轻人了,三十岁的时候,我连续编程时间可以在二十小时以上,经常有人第一天上班看见我在公司,第二天上班看见我还在公司。年纪...
  • 8000字干货:那些很厉害的人是怎么构建知识体系的

    万次阅读 多人点赞 2019-09-29 11:18:27
    本文约8000字,正常阅读需要15~20分钟。...小张准备通过跑步锻炼身体,可因为之前听说小腿变粗、膝盖受伤、猝死等等与跑步有关的意外状况,有点担心自己会掉进各种坑里,就在微信上问朋友圈一直晒跑步...
  • 但要说其中最人不忍受的,我个人觉得还是:面试造火箭,进厂递扳手!永无休止的杂活。 文章配图均来自电影《当幸福来敲门》,一部非常励志的电影。当你觉得生活很难的时候,推荐大家去看看,可以给自己充充电。...
  • 做软件测试工程师的人大多数都不是很清楚软件测试工程师这个岗位到底是做什么的?其实我的想法是执行用例,找缺陷,仅此而已,简单粗暴。后来,看了《Google的软件测试之道》这本书,稍微有点更改,变成了积极主动地...
  • 大家用.net 大部分的工作是在干什么

    千次阅读 2010-03-12 09:36:00
    小弟我,毕业三年了,用 .net 时间也差不多是这个数。但是这几年,用 asp.net 无非做的就是增删改查,这1年来,经历几个公司,都有自己的代码生成器和模板,就完全是写点 sql 了。现在很厌倦了,不知掉是我层次低...
  • 但是很多人学习了这门余元的语法和基本功能之后却不知道Python能干什么以及怎么做。Realpython.com上面的一篇文章于是把Python可以做的事情以及不适合做的事情进行了总结。更棒的是,里面还列举了如何做这些事情的...
  • 比如:有我出题的,有我推荐资料的,还有我推荐公司的。。。 真是太难为我了!也有些人刚开过年,任务不算多。所以,经常酱油,不知道该学习什么? 于是,我发了一套面试题,如下: 结果,他们都来要答案...
  • 算法(一)时间复杂度

    万次阅读 多人点赞 2017-02-09 11:48:04
    这个系列就对算法头疼的同学快速的掌握基本的算法。过年放假阶段玩了会游戏NBA2K17的生涯模式,没有比赛的日子也都是训练,而且这些训练都是自发的,没有人逼你,从早上练到晚上,属性也不涨,但是如果日积月累...
  • 最好能让场景移动来体现真实感~ 其次,要创建一个我们的主角飞机,当然要显得跟敌人飞机不一样啦。我们的飞机可以上下左右BABA移动,也可以发射炮弹来打飞机!自然也要有血量,不然无敌起来打飞机还有什么乐趣呢,就...
  • 摸鱼前端的自检(三)v8了些什么

    千次阅读 多人点赞 2019-11-05 17:19:23
    v8了些什么? V8是被设计用来提高网页浏览器内部JavaScript执行的性能,那么如何提高性能呢?接下来我们一个个介绍它了些什么。 有兴趣的同学可以去我的github,里面有我的分享的学习过程和blog. github....
  • 可会明用自己的职场亲身经历,告诉你职场如何折射人生,告诉你最可靠的滋养因素是什么。 在公司中,我们都称可会明为帅哥老可。他在MSN的办公室论坛中有着众多粉丝,他写的《致初入职场的兄弟姐妹》贴子,有几...
  • 背景默认的Spring Eureka服务器,服务提供者和服务调用者配置不够灵敏,总是服务提供者在停掉很久之后,服务调用者很长时间并没有感知到变化。或者是服务已经注册上去了,但是服务调用方很长时间还是调用不到,发现...
  • 不仅如此我还会带着大家一遍如果要你设计一个 RPC 框架你看看都需要什么功能?这波操作之后你会发现嘿嘿 Dubbo 怎么设计的和我想的一样呢?真是英雄所见略同啊! 而且我还会写一个简单版 RPC 框架实现,大家...
  •  因为,我见不少得过且过的的程序员工资明显低于同等条件下的平均水平,我更见更多忙成狗的程序员,因为不知道在忙什么以及为什么忙,所以进步很慢,这真就叫做白忙了。 不论程序员对“忙”持有什么态度,但...
  • 的应用程序的开发变迅速和容易。 Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定向网页等...
  • Elasticsearch飞起来!——性能优化实践干货

    万次阅读 多人点赞 2018-12-19 23:01:39
    如果这个人在寻求中,立刻得到即时满足,这种感觉就是爽!”。 Elasticsearch的爽点就是:、准、全! 关于Elasticsearch性能优化,阿里、腾讯、京东、携程、滴滴、58等都有很多深入的实践总结,都是非常好的....
  • 有哪些程序员受益终生的建议

    万次阅读 多人点赞 2019-10-28 07:11:59
    从业五年多,辗转两个大厂,出书,创业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由...
  • 终于,字节跳动要取消大小周了,我 1.7 万人的票圈都炸了!(原来在字节的票友还真不少) 从一些票友的表述上来看,取消大小周,意味着一年接近 10 万元的收入木了,不得不说,字节的加班费是真的多! 但与此同时...
  • 别被别人抢走了你的时间

    万次阅读 多人点赞 2018-06-21 20:24:09
    我给他的回复很直接,我很少参与这类活动,尤其是一些整点抢券的行为,更加不会参与,因为我的时间很宝贵。 因为评论区留言有限,我想单独给大家说说这个话题,我觉得这个观念对关注我的读者还是很有用的。 很多人...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 308,833
精华内容 123,533
关键字:

干什么能让时间过得快