-
2021-07-04 14:05:18
文章目录
Question
一台内存在 8G 左右的服务器,可以同时维护多少个连接?
分析:
连接是内存中的状态对象,从理论上分析,连接本身不太占用内存。不同语言连接对象大小不等,但是通常很小。下面提供一段 Java 程序
public class Server { public static void main(String[] argv) throws IOException { var serverSocket = new ServerSocket(); var addr = new InetSocketAddress(3001); serverSocket.bind(addr); var list = new LinkedList<>(); while(true) { var client = serverSocket.accept(); list.add(client); System.out.println(list.size()); } } } public class Client { public static void main(String[] argv) throws IOException, InterruptedException { var clients = new LinkedList<>(); for(int i = 0; i < 1000000; i++) { var client = new Socket("127.0.0.1", 3001); clients.add(client); } Thread.sleep(10000000); } }
通过运行上面这段程序,你可以观察到以下这几个现象:
-
创建 100W 连接速度不是很快,这说明 TCP 连接创建有成本(3 次握手,都是网络 IO);
-
用jps找到对应的进程的id,在用
sudo cat /proc/{进程ID}/status | grep VmHWM
可以看到实际的内存占用。按照这种增长趋势,8G 内存空间可以轻轻松松存放 100W 个连接。
但是如果单机建立太多的连接,会报一个Cannot assign requested address的异常,这是因为客户端连接服务端时,操作系统要为每个客户端分配一个端口,上面的程序很快会把端口号用尽。
所以,我们可以得出一个结论:核心的问题是,通信需要缓冲区,通信需要 I/O。这是因为通信占用资源,连接本身占用资源少。
更多相关内容 -
-
(原创)关于一台服务器能安装多少台虚拟机问题?
2021-07-31 02:17:54总有人发帖问一台服务器能安装多少台虚拟机,今天我拿一台服务器来做例子,详细讲解下一台服务器大约能虚拟化多少台虚拟机;下面以一台我们常见的RH2288H V3服务器为例:RH2288H V3服务器 ,可以安装两个CPU,使用...总有人发帖问一台服务器能安装多少台虚拟机,今天我拿一台服务器来做例子,详细讲解下一台服务器大约能虚拟化多少台虚拟机;
下面以一台我们常见的RH2288H V3服务器为例:
RH2288H V3服务器 ,可以安装两个CPU,使用型号:E5-2699V3 (内核数18核,每核两线程,也就是36线程,处理器基本频率2.3GHz,最大睿频频率3.6),内存配置最大支持1.5T(在这里就不列举内存了,内存肯定是充足的);
官方CPU信息如下:
RH2288H V3支持的型号如下图:
这里我采用的是V3中最好的型号E5-2699 V3;
在虚拟化中,VCPU就是指线程数;
一台RH2288H V3服务器最大线程数=2*36=72
这里拿我的笔记本举例:
我笔记本cpu型号为i5-4210M,是2核四线程;
详细信息如下图:
官网CPU信息如下图:
也就是说创建一台普通虚拟机也就是4线程(这个配置还可以,一般应用资源不大的2核也够,比如营业厅),应用虚拟机可以使用8线程,如果对计算能力要求更高可采用16线程;
下面是虚拟化中VRM配置要求(可作为参考):
FusionManager配置要求如下(作为参考):
也就是说如果全部装普通虚拟机的话:72/4=18台
如果全部使用8线程的应用虚拟机的话可以创建72/8=9台
安装虚拟化系统CNA节点所使用的资源,也就是Domain0占用的资源如下图:
按默认配置的话也就2VCPU,一台虚拟机的差别;
当然虚拟化后真正创建的虚拟机数量是可以超出这个VCPU的最大限制,因为不可能所有虚拟机都是满载业务,虚拟化环境中资源是可以预留,非预留的都是可以动态共享的。
总结:虚拟化环境中可使用资源=总资源-Domain0使用的资源(默认配置2VCPU)-管理节点VRM使用的资源
普通桌面型4VCPU虚拟机可创建:72/4=18台 左右
应用虚拟机8VCPU可以创建72/8=9台 左右
而实际情况创建的虚拟机数量所使用的资源总和是可以大于物理资源总和的。
-
服务器内存一般多大_性能调优第一步,搞定服务器硬件选型
2020-11-29 01:15:21我们需要从不同角度、多个方面来决定选择一台什么样的服务器,找到满足技术需要、业务发展和成本控制之间的最佳平衡点。那么接下来,我们就来谈谈如何进行硬件选型。— 1 —服务器要运行什么应用?我们要根据服务器...服务器选型是Linux性能调优的第一步。
无论你是自行购买服务器进行托管,还是租用服务器,购买云主机,都要面临的一个问题:选择服务器的硬件配置。
我们需要从不同角度、多个方面来决定选择一台什么样的服务器,找到满足技术需要、业务发展和成本控制之间的最佳平衡点。
那么接下来,我们就来谈谈如何进行硬件选型。
— 1 —
服务器要运行什么应用?
我们要根据服务器的用途,来决定服务器的性能、容量和可靠性需求。
这里我们按照最典型的基础架构:Web服务器、数据服务器、应用程序服务器来展开讨论。
·Web服务器·
Web服务器对硬件要求不高,甚至一般的硬件配置(2颗4核、8G内存、1T硬盘)即可满足需求,如果后期Web服务访问量上升,只需要新增同等配置的服务器加入负载均衡集群即可实现Web服务的性能扩展。
·数据服务器·
数据服务器对硬件要求最高,主要特征是CPU要足够快、内存足够大,磁盘IO足够快和稳定。比如:MySQL、Oracle服务器要求CPU配置一定要好,最好是双路志强金牌Gold,磁盘最好使用SSD系列。而Redis服务器主要是内存型应用,所以要求内存一定要足够大,并且可扩展,而对磁盘和CPU要求就没那么高。
·应用程序服务器·
应用服务器的典型特征是承担了计算和功能实现。对CPU的配置,至少是双路志强银牌Silver系列。对于可靠性问题,如果你只有一台服务器的话,那么这台服务器必须足够可靠,磁盘做成RAID1阵列是必不可少的。
·其它公用服务器·
还有一些公用的服务器,例如邮件服务器、DNS服务器、域控服务器。对稳定性要求较高,因此一般会推荐有至少两台进行主、备部署。对硬件来说,没有特殊的需求,所以一般的硬件即可。
— 2 —
业务系统要支持多少用户?
硬件服务器是为了提供某种服务,而使用这些服务的用户有多少,也是我们需要考虑的因素,有几个具体的问题需要我们做出评估:
预估有多少用户会同时在线访问?
预估每天同时在线访问的最高峰值大概是多少?
预估数据量会有多大?
预估网络带宽会占用多少?
— 3 —
要用多大空间来存储数据?
我们需要从两个角度来考虑这个问题。一个角度是有哪些类别的数据,另一个角度是数据的增长速度,例如每天大概会新增多少数据,根据这个增速,就可以规划出未来1-3年内数据量大小。最后我们才能得到一个更具体的数字,还需要为计算出来的数字结果乘1.5左右的系数。
— 4 —
业务重要性有多高?
服务器可以为不同业务系统提供各种应用服务,这个重要性直接影响到我们对服务器的选型配置。
·门户网站·
一台服务器,铜牌Bronze 单路cpu、4G内存、500GB足够了,并且也不需要备机,就算服务器出现了一点硬件故障,导致几个小时甚至一两天不能提供访问,工作也会照常继续,天也不会塌下来。对公司也影响不大。
·测试平台·
如果仅仅做功能测试,那么对硬件配置基本没要求,虚拟机也可以满足要求,而如果是做性能测试,那么就根据性能测试的方向,选择某方面比较强劲的硬件即可。
·电商平台·
CPU要足够好,内存也要足够大,磁盘一定要做RAID10。同时,还要部署主、备架构,数据要做实时备份、异地远程备份,因为重要的业务系统,一旦发生故障,直接导致的损失就是金钱。
— 5 —
怎么选择CPU
CPU的主频越高,其性能也更高;两个CPU要比一个CPU来得更爽;说到品牌,也就是Intel和AMD,Intel服务器市场份额更高一些。要选CPU,一个特征是选购最新的,那就没错了。常见情况:
·公司业务刚起步·
量不大的情况下,此时预算可能也不是很充足,那么建议选择一个英特尔至强铜牌单路CPU即可,但是记得要留扩展接口。
·跑多个服务·
比如apache+php+tomcat+mysql架构,都运行在一台机器上,那么,推荐英特尔至强银牌双路CPU,这将是一个不错的选择。
·运行MySQL/Oracle·
那么至少应该选择一个英特尔至强金牌双路10核CPU,并且预留CPU扩展接口,当负载越来越大的时候,可以选择增加CPU到四路。
— 6 —
需要多大的内存?
相比于CPU,内存(RAM)其实是影响性能的最关键因素,很多业务系统CPU利用率一般都在10%~50%之间,甚至更低。
·Web前端服务器·
例如apache、nginx。不需要太大的内存,因为这些Web服务器主要是处理静态请求,一天几十万的访问量,4GB内存已经足够了。
·java重型应用服务器·
比如Tomcat、Resin、WebLogic、Websphere、jboss等此类。配置的内存在16GB-32GB之间即可,大于32GB的内存配置基本是浪费了。
·内存型业务系统·
例如redis、Squid、Varnish、Memcached等,我们需要为服务器配置尽可能高的内存容量,因为这类应用主要消耗的就是内存。
— 7 —
需要怎样的硬盘存储?
硬盘存储系统的选择和配置是整个服务器系统里最为复杂的一部分,我们需要考虑硬盘的数量、容量、接口类型、转速、缓存大小,以及是否需要Raid卡,Raid卡的型号和Raid级别等问题。
·磁盘类型·
目前有SATA、SAS和SSD三种类型,SATA、SAS属于机械硬盘,转速低,读写速度慢,但是价格便宜,磁盘容量大。SSD硬盘属于固态硬盘,优点是读写速度快,缺点是价格昂贵。
·RAID·
主要分为软RAID、硬RAID二种。软RAID所有功能均有操作系统和CPU来完成,没有独立的RAID控制器处理芯片和I/O处理芯片,效率最低。硬RAID配备了专门的RAID控制器处理芯片和I/O处理芯片以及阵列缓冲,不占用CPU资源。
— 8 —
网卡如何选择?
最后,再来谈一下网卡的选型,网卡和服务器的网络带宽互相影响,这里我们从网卡的速率和网卡的冗余两个方面来进行分析。
·网卡的速率·
到底是选用千兆网卡呢,还是选择万兆网卡呢,这主要取决于我们对带宽流量的评估。大多数情况下,千兆网卡足够用来对外网提供服务,而内部数据交换如果非常频繁,例如hadoop业务,建议使用万兆网卡。
·网卡的稳定性·
对网络稳定性要求高,推荐双网卡做冗余,两个网卡连接到不同的交换机上,这样,任意一个网卡故障都不影响业务的正常运行。
来源:CSDN博主「子非鱼yy」
专业IT社群运营者--IT鲸英派
IT鲸英派由多位IT行业资深人士发起,并成立于上海。IT鲸英派的初衷是想通过社群为IT从业者提供价值,为行业发展做点贡献。 愿景:助力IT产业发展 目标:成为IT全行业卓有影响力的社群组织
我们能为您带来什么
业务对接,建立人脉,学习交流,最新资讯,资本对接
我们的发展计划
经过不断吸纳IT从业者,未来将成为业界有影响力IT社群组织,预计经过一年积累,社群人数将达到10万级别。我们的社群按照生态、产业、城市、职能、技术等维度进行划分,通过充分融通上下游产业链,为群友提供最有力的业务支撑。
群的种类
综合生态大群-高管交流群-行业生态群-应用生态群-职能交流群-技术交流群-城市交流群-投融资交流群
如何加入社群:
私信小编“加群”即可。
-
同一台服务器(电脑)运行多个Tomcat
2017-12-05 19:32:53经过如下方法就可以实现统一台服务器(电脑)上运行多个Tomcat的目的了。 1、配置电脑”环境变量”单个Tomcat的配置步骤不再重述,直接从配置第二个Tomcat开始。对电脑”环境变量”做调整,增加环境变量CATALINA_HOMEB...- 大多人在Windows平台用的Tomcat都是免安装版本的,很自然想到复制几份目录,就是在同一个电脑上跑多个Tomcat服务了。实际上是不可以的。经过如下方法就可以实现统一台服务器(电脑)上运行多个Tomcat的目的了。
1、配置电脑”环境变量”
单个Tomcat的配置步骤不再重述,直接从配置第二个Tomcat开始。对电脑”环境变量”做调整,增加环境变量CATALINA_HOMEB,值为新的tomcat的地址。
2、更改Tomcat的 catalina.bat、startup.bat、shutdown.bat
把如上提到的三个文件里的CATALINA_HOME常量改为CATALINA_HOMEB,参见下图:
3、修改server.xml内的三个端口
- 经过如上三个步骤就可以在同一台服务器(电脑)上同时运行多个Tomcat服务了,我这边是以两个Tomcat为例子来操作的,分别启动两个Tomcat的bin目录下的startup.bat, 运行效果如下图:
-
需要在一个服务器上搭建60台服务器,服务器配置为,2G运行内存,60G硬盘,承载服务器的规格大概是多少
2017-10-28 10:57:15需要在一个服务器上搭建60台服务器,服务器配置为,2G运行内存,60G硬盘,承载服务器的规格大概是多少?我现在考虑用VMware Workstation 或者Centos6 用哪个平台要好些? -
java利用sigar.jar获取服务器运行时CPU、内存、网络等信息
2021-10-24 21:46:33利用java程序检查服务器或主机的运行时信息,包括操作系统、CPU使用情况、内存使用情况、硬盘使用情况以及网卡、网络信息。主要的办法有两种:第一种,使用jdk1.6以上自动的功能,实现数据的获取,但是该方法局限性... -
服务器内存和普通内存有什么区别?可以通用吗?
2021-01-13 18:06:51服务器的内存和普通的内存有什么不一样一、首先在选购上来说普通的内存比如PC内存等等,大家通常都是在看内存条是DDR3还是DDR4,频率是多少,2133还是3000,用的是什么颗粒?内存时序是多少?4G内存条多... -
一台物理服务器可运行多少个虚拟机最合适
2012-03-08 19:14:03一台物理服务器可运行多少个虚拟机最合适? 答:这个具体取决于你的物理服务器...例如,一台服务器有8 core, 8G内存,通常hypervisor会占用512M内存,大概还剩下7.5G内存,假设每个虚拟机的配置是1 core cpu, 1G内存, -
云服务器怎么配置cpu与内存搭配
2021-03-06 19:59:37很多朋友在购买云服务器之前都会搜服务器一般用几核才够用...一、处理器性能解析 首先要明确一点,虽然都是多少核。但是服务器的处理器性能还是有差异的。具体可以搜对应处理器CPU性能天梯。阿里云的服务器都是定制... -
一个电脑最多能开启多少个线程?
2021-07-31 00:24:10—-一个进程可以开启的线程受可用内存限制,如果是32位的机器,那么默认一个进程有2G的可用内存,而每个线程默认分析1M的栈空间,所以这种情况下理论最线程数在2000多个。一个解决办法是创建线程时减少线程栈的大小... -
科普:服务器内存和普通内存有什么区别?可以通用吗?
2020-06-19 14:49:14平时大家接触最多的应该是普通内存,也就是我们所说的PC内存,一般来说,内存越大,可用的缓存就越大,电脑的运行速度就越快。用在服务器上是同理,服务器的内存越大,可用缓存就越大,网站的速度也越快。 ... -
购买一台服务器安装 青龙面版 撸京豆 ~超详细~
2022-04-25 13:54:36新用户最近有活动只需要38元就可以买一台1核2G云服务器,初学者用这个也足够了,但是我准备买2核4g内存的服务器,之后可以把好的项目部署在上面用于学习,和研究 由于之前已经买过一台同配置的服务器只不过操作系统是... -
云服务器续费太贵,直接在家搭一台,再也不受约束了
2021-05-16 03:29:49废旧利用 正巧家里有一台去年从某鱼上买的一台 J1900 小主机,想来可以利用一下。 性能对比 跑分 云服务器 比较 J1900 小主机 核心数 1 频率 2.4GHz > 2.2GHz 固态硬盘 50GB 内存 2GB 交换分区 0 磁盘读写速率 117... -
Python 程序运行时CPU和内存高解决思路
2021-02-04 16:19:14这篇文章是基于上篇文章的续章~一台机器要部署很多爬虫,每天定时执行的情况下,服务器CPU和内存占比较高的情况出现后模拟一份代码,进行分析。一个简单的爬虫程序,爬取10页数据共计150条,每天定时写入数据库总共... -
服务器是一种高性能计算机
2021-12-14 14:28:28、@Qwhtgj 服务器是一种高性能计算机,作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为...服务器是计算机的一种,它比普@Qwhtgj 通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户.. -
如何配置一台高效的GPU(深度学习)服务器
2020-08-11 17:49:28随着NVIDIA推出更多的GPU硬件和工具软件,如何配置一台属于自己的GPU服务器,在开发者的工作中成为了重中之重。 文章大概: 1、硬件平台的搭建 o 深度学习服务器的性能需求 o NVIDIA GPU的性能特点 o 硬件环境的... -
服务器的运行寿命一般有多久?服务器怎么选?
2020-12-25 10:29:29一台服务器大概能维持多久?这是每个企业都迫切需要知道的成本效益的问题。想知道这个问题的答案,需要明确下面这些观点。接下来就由小编在线为大家解答! 服务器不像汽车或其他机器一样只是随着时间的推移而磨损。要... -
使用zabbix监控服务器运行状态【一】
2019-06-30 23:47:13一、zabbix服务部署及监控配置 ...The Enterprise-class Monitoring Solution for Everyone 企业级监控解决方案 zabbix 是一个基于 WEB ...zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制... -
搭建Hadoop集群,一个月6T的数量需要几台服务器
2017-12-08 14:03:58配置几个namenode,几个datanode,namenode和datanode怎么部署,内存与硬盘大小。 最好是两个做成HA 关于硬盘: 6T的数据容量,看你副本数量设置是多少,一般默认为3,那么仅这些就需要18T硬盘,稍微大一点20T吧;... -
在一台服务器部署多个elasticsearche节点
2016-10-21 17:27:13之前已在一台服务器上部署了elasticsearch,今天想着尝试elasticsearch的分布式,但受限于硬件资源(手头上只有一台服务器),所以就想着在一台服务器上部署多个结点(下文以2个结点作为例子)。 1、首先将已... -
SQL Server 2012笔记分享-14:数据库内存设置
2021-08-13 03:18:15如果一台服务器上有多个实例,每个实例里面又有多个数据库,就容易出现下面的问题:1、可能某个数据库中的某个表中的代码有问题,把所有的内存都吃掉了,这样就导致因为这一个表的问题,其他的实例中的数据库都产生... -
服务器上进程运行查看方式
2019-06-20 21:48:35Linux服务器的进程查看命令详解 - 云+社区 - 腾讯云 原文地址 https://cloud.tencent.com/developer/article/1071977 原文复制如下: Linux 服务器正常启动后,提供服务时会调用程序,占用进程。这时候我们如何查看... -
什么是服务器?服务器是干什么用的?服务器的基本属性有哪些?怎么配置服务器?怎么挑选适合自己的服务器?
2021-04-22 10:32:24服务器指一个管理资源并为用户提供服务的计算机,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。相对于普通PC来说,服务器在稳定性、安全性、性能等方面都... -
PowerShell脚本远程获取多台服务器系统状态(CPU、内存、运行服务)
2012-07-03 07:54:51#本脚本获取远程服务器的CPU使用情况 #选择服务器名称的录入方式 if (!$continue) { $continue = Read-Host "是否手动输入服务器名称,请选择 Y 手动输入 或 N 从文本文件读取" } if ($continue -ne... -
1核2g1m服务器能支持多少人在线访问?
2020-10-24 14:46:481核2G内存的服务器相当于一台手机1/4的功效 三、为什么是14人? 这一点也找腾讯工程师验证了,确实是受到带宽限制的影响。 四、总结 所以说只要把带宽提上去了,还可以支持2到3倍在线人员访问。 五、福利 ... -
Linux查看服务器总内存和总硬盘大小
2021-05-26 10:34:07一、linux CPU大小; 9213b07eca8065389a2d57e59bdda144ac348205.jpg 其实应该通过Physical Processor ID来区分单核和双核。 而Physical Processor ID可以从cpuinfo或者dmesg中找到....二、内存. -
一台主机,至多可以开启多少个线程
2020-02-09 15:28:24最近在做服务器压力以及并发测试,因为是C/S模型,所以需要自己模拟客户端,需要运行大量的线程模拟并发,于是就碰到这个问题了。 另一个原因是,我在服务器中创建了一个线程池,我很想知道线程池的个数上限,从而... -
Redis导致服务器内存占用过大
2017-02-18 10:59:56今天线上集群那边反馈宿主机上的云主机显示无法分配内存。 htop查看后结果如下: 内存占用将近97%,调查发现是redis导致。 解决: 设置Redis内存占用上限,到达上限后刷入磁盘 vi /etc/redis.conf... -
浅析分布式系统的架构及常用方案(多台服务器的配合)
2020-05-10 22:50:15导读高吞吐、高并发、低延迟和负载均衡(大量用户访问同一个...那么,一个互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂?本文就是想从最基本的地方开始. -
双通道(双CPU)服务器主板上内存条的安装方式
2018-01-27 11:22:09前言(废话):最近导师刚给配置了一台双E5双GPU(GTX1080Ti 11g)的服务器,由于一些原因导师将原装的两根32G内存(三星)条拿走放在另外一台正在使用的工作站上,并将替换下的一个16G内存条(英睿达镁光 DDR4 2400 16G...