web服务器硬件软件配置选择

web服务器硬件软件配置选择本文节选自浅谈服务器性能测试的全生命周期 从测试 结果分析到优化策略小白用户一个 前段时间自己选择云服务器时就面临了不知道选什么参数配置的问题 也不知道各个性能指标是怎样限制服务器性能的 觉得此文拿来做科普非常好 这里备忘一下 如何选择硬件硬件对服务器性能影响还是蛮大的 如果是土豪的话 可以直接买最好的 我们分析硬件主要是希望选择合适的配置 节约资源 避免出现高射炮打蚊子的情况 CPU 在资金

如何选择硬件

硬件对服务器性能影响还是蛮大的,如果是土豪的话,可以直接买最好的。我们分析硬件主要是希望选择合适的配置,节约资源,避免出现高射炮打蚊子的情况。

CPU

在资金的充足下,一般来说CPU的数量越多,主频越高,那么服务器的性能也就会越好。在实际测试过程中,如果在大压力下持续观察CPU的使用率很低,那么CPU的资源基本上是可以满足服务器要求的。这样的情况其实是有点浪费CPU资源的,比较理想的情况是压力不大的时候CPU利用率比较低,压力上来之后CPU利用率保持在60%-70%。

大部分的CPU在同一时间内只能运行一个线程,但是超线程的处理器可以在同一个时间运行多个线程,我们可以利用处理前超线程特性提高系统性能。虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。

内存

内存的大小也是影响服务器性能的一个重要因素。内存太小,系统进程要被阻塞,应用程序会变得缓慢,甚至是失去响应;如果太大的话,也是造成一种浪费。Linux系统中采用物理内存和虚拟内存两种方式,使用虚拟内存可以缓解物理内存的不足,但是如果占用过多的虚拟内存的话,应用程序的性能会明显的下降。

网络带宽

网络带宽的大小限制了客户端与服务器交互的流量,相对其他硬件资源,网络带宽在价格上更贵。这需要我们合理预估服务器的可服务器能力,需要占用的带宽资源。

磁盘IO

目前磁盘都是机械方式运作的,主要体现在磁盘读写前寻找磁道的过程。磁盘自带的读写缓存大小,对于磁盘读写速度至关重要。读写速度快的磁盘,通常都带有较大的读写缓存。磁盘的寻道过程是机械方式,决定了其随机读写速度将明显低于顺序读写。在我们做系统设计和实现时,需要考虑到磁盘的这一特性。

操作系统及软件

版本

不同的操作系统在内核实现上可能各不相同,因而对运行在上面的应用程序来说可能影响比较大。

笔者并没有做过分析不同操作系统对服务器性能的影响,因为只用过Linux开发服务器程序。Linux操作系统在这十几年发展的异常迅猛,目前大部分的服务器都是运行在Linux操作系统上的。Linux目前具有最好的生态系统,服务器端的各种软件都为它而设计,默认都认为你是在 Linux 上跑,你要是整一个非 Linux 的服务器,你得有足够的心理准备,因为出现任何问题,你可能未必能找到能帮你解决问题的人。

参数配置

关于数据库参数的设置,比如mysql的配置文件my.cnf文件中,修改不同的配置(比如innodb_flush_log_at_trx_commit 设置为0,1还是2 )可能会对数据库的读写性能影响很大。

应用程序本身实现

比如程序中需要频繁申请内存,使用bzero和memset对服务器性能影响差距可能会很大。

另外程序中的一些查询操作,采用不同的数据结构,可以实现时间和空间上的相互转化,从而影响服务器的性能。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177142.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午8:12
下一篇 2026年3月26日 下午8:13


相关推荐

  • 实用cmd指令(1)

    实用cmd指令(1)

    2021年8月19日
    77
  • 实战篇:生产库升级,容灾库 Oracle DataGuard 如何升级?

    实战篇:生产库升级,容灾库 Oracle DataGuard 如何升级?如何快捷安全的升级 ADG

    2026年3月18日
    1
  • 机器学习之数据预处理

    在sklearn之数据分析中总结了数据分析常用方法,接下来对数据预处理进行总结当我们拿到数据集后一般需要进行以下步骤:(1)明确有数据集有多少特征,哪些是连续的,哪些是类别的(2)检查有没有缺失

    2021年12月30日
    52
  • meshgrid方法

    meshgrid方法目录meshgrid绘制曲面图三维网络meshgridmeshgrid和mesh方法的差别在于是否会画出栅格线绘制曲面图生成绘制3D图形所需的网格数据。因为在计算机中进行绘图操作时,往往需要一些采样点,然后根据这些采样点来绘制出整个图形。涉及到x、y这两组数据可以看做是在Oxy平面内对坐标进行采样得到的坐标对(x,y)。[X,Y]=meshgrid…

    2022年6月3日
    49
  • Web Services到底是什么

    Web Services到底是什么最近刚刚接触到 Onvif 协议 其规范中设备管理和控制部分所定义的接口均以 WebServices 的形式提供 那这个 WebServices 到底是个什么玩意啊 经过一番周折 搜集到了不少形象易懂的解释和大家分享下 1 楼 比如说很多软件都有天气预报的功能 比如主面板上就有显示天气的信息但是这些信息可能是从气象局得到的 怎么得到的呢 就是用 webservice 比如

    2026年3月20日
    2
  • python面试题目及答案(数据库常见面试题及答案)

    Python是目前编程领域最受欢迎的语言。在本文中,我将总结Python面试中最常见的50个问题。每道题都提供参考答案,希望能够帮助你在2019年求职面试中脱颖而出,找到一份高薪工作。这些面试题涉及Python基础知识、Python编程、数据分析以及Python函数库等多个方面。Q1、Python中的列表和元组有什么区别?Q2、Python的主要功能是什么?Python是一种解释型…

    2022年4月17日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号