可以通过修改许多服务器设置让它更好地处理工作负载。根据服务器负载性质的不同,文件服务器的调优不同于数据库服务器,两个应用服务器也可能采用不同的方式调优。调优涉及把有限的服务器资源分配给操作系统和应用程序的不同部分,从而让应用程序尽快做出响应。下面是调优要考虑的领域:
中央处理单元 (cpu)
内存
磁盘(包括空间和访问速度)
网络
这些方面经常会相互影响。例如,可以为缓存分配内存,这可以减少磁盘访问或通过网络的资源访问。本文的重点之一是与 java 虚拟机 (jvm) 相关的内存调优。jvm 有自己的内存管理系统,必须监视和配置这个系统。
cpu
服务器的 cpu 会在等待某些事件方面花费很多时间。最常见的情况是等待磁盘返回数据。多任务机制允许 cpu 在等待时做其他事情。因此,如果主机在 cpu 方面花费大量时间,那么购买更快的 cpu 会提高性能。
vmstat 命令提供关于系统时间消耗的实时细分信息,sar 工具套件适合进行长期监视。如果这些工具显示 cpu 把大多数时间花费在用户空间,空闲周期非常少,就应该考虑采取措施。在这种情况下,要么把负载转移到其他服务器,要么提高 cpu 能力。
转移负载可能意味着在另一台服务器上运行批作业,或者把应用程序负载分配给多台服务器。后一种方法是最理想的,这称为水平扩展。如果必须提高 cpu 能力,那么可以进行物理升级,比如添加更多的 cpu;如果处于虚拟化环境,还可以重新分配更多资源。
一些负载本身不适合并行处理,所以跨多个服务器分配负载或添加更多 cpu 不会有帮助。在这种情况下,要使用更快的 cpu 并花时间优化底层代码,减少运行它所需的 cpu 周期。
内存
如果喜欢高级性能调优概念请收藏或告诉您的好朋友.
阅读(147) | 评论(0) | 转发(0) |