大规模服务如何将机器最优化使用
2010-05-25 13:35
197 查看
当前中国的大环境造就了几个大的互联网公司,一些规模稍小一点的公司也是蓄势待发。随着业务的不断增长,公司对服务器的需求量也会不断增大,如何有效的利用服务器,也会成为一个公司成本节约的重要技术
首先,要最大化利用机器的性能。服务器数量增多,如果管理不善,就会出现某些服务器超忙,而另外一些却很闲的情况。为此,可以将服务器分级,为不同服务选用不同标准的机器。接入层机器比如websvr类仅仅负责接收请求,逻辑运算少,这样的服务,一般机器就可以了;逻辑层有较为复杂的运算,可以在cpu和内存上提高点要求,最重要的db层和cache层,就需要有大硬盘大内存,且需要raid容错了。这样把服务分层分布,即可以合理运用机器,又可以在容错上做的更好
当然,以上是针对普通服务来的,对于特殊服务当然还需要特殊的机器,比如相册,对硬盘性能要求比较高,且会存在大量老文件访问量极少的情况,虽然访问量比较少,这些文件却不能删除。不同的公司或许有不同的处理。可以专门为这些老文件定制特殊的睡眠服务,平常不被访问的时候处于暂时休眠状态,有访问时被唤醒。也当是省电了。
非核心多服务可以规约机器,如果不是关键路径,且耗资源都比较少,这样的服务就可以集中到一台机器上,也可以节省不少机器,让更需要的关键服务来使用。
光从硬件上节省还是不够,从代码层面上充分发挥机器cpu,内存的性能也很关键,比如我们常见的系统调用耗时等,如果可以减少将会大大减轻机器的负载,提升服务质量。
首先,要最大化利用机器的性能。服务器数量增多,如果管理不善,就会出现某些服务器超忙,而另外一些却很闲的情况。为此,可以将服务器分级,为不同服务选用不同标准的机器。接入层机器比如websvr类仅仅负责接收请求,逻辑运算少,这样的服务,一般机器就可以了;逻辑层有较为复杂的运算,可以在cpu和内存上提高点要求,最重要的db层和cache层,就需要有大硬盘大内存,且需要raid容错了。这样把服务分层分布,即可以合理运用机器,又可以在容错上做的更好
当然,以上是针对普通服务来的,对于特殊服务当然还需要特殊的机器,比如相册,对硬盘性能要求比较高,且会存在大量老文件访问量极少的情况,虽然访问量比较少,这些文件却不能删除。不同的公司或许有不同的处理。可以专门为这些老文件定制特殊的睡眠服务,平常不被访问的时候处于暂时休眠状态,有访问时被唤醒。也当是省电了。
非核心多服务可以规约机器,如果不是关键路径,且耗资源都比较少,这样的服务就可以集中到一台机器上,也可以节省不少机器,让更需要的关键服务来使用。
光从硬件上节省还是不够,从代码层面上充分发挥机器cpu,内存的性能也很关键,比如我们常见的系统调用耗时等,如果可以减少将会大大减轻机器的负载,提升服务质量。
相关文章推荐
- 如何使用Dokerfile构建镜像及搭建服务
- 如何使用Jacoco远程统计tomcat服务的代码覆盖率
- 如何正常使用Google的服务
- 如何使用 ASP.NET 应用程序以使用 Visual C#.NET 来查询索引服务目录
- 弹性伸缩服务实战:我是如何节省80%的机器成本的
- 如何正确查看Linux机器内存使用情况
- Uber如何使用go语言创建高效的查询服务
- 如何使用 syslog-ng 从远程 Linux 机器上收集日志 | Linux 中国
- 如何使用Java构建微服务
- ArcGIS API for javascript开发笔记(六)——REST详解及如何使用REST API调用GP服务
- 使用HttpWebRequest从一台服务机器上下载到另一台服务器
- 如何使用跳板机一键登录目标机器
- 如何使用Java编写NT服务
- 如何使用 Java 构建微服务?
- [1月21日的脚本] 如何使用指定的用户账号识别服务并修改密码
- 如何使用PHP构建一个高性能的弹幕后端服务
- 如何使用IIS发布服务
- 如何在AIX机器上使用dbx调试core dump
- MySQL同一台机器安装两个服务,如何安装两个mysql数据库服务,用mysql的zip安装包
- Navicat Cloud云服务如何使用