IT企业向云平台迁移时会涉及到很多因素,比如云的形式和云平台的品牌,还有采取哪种方式进行迁移会更好。然而,大多数企业在进行迁移时通常并不怎么考虑性能问题,他们急于要把云平台作为他们的操作系统,这让他们犯下严重的错误,在性能上损失巨大。匆匆忙忙的转向云平台可能会让IT应用运行起来非常痛苦,你要做的是尽早避免这一点。
普遍的错误有三个:
- 强行移植代码,而不根据云平台做本地化修改。
- 不考虑I/O调度问题。
- 不考虑网络延迟。
许多IT企业经常不对代码做平台本地化修改就强行移植代码,这些人以为在云平台上可以和在本地系统上一样随心所欲的处理那些C++代码,实际上这是行不通的。
事实上,在不同的平台之间移植代码时,你需要进行本地化和优化处理,不仅是云平台,IaaS或PaaS也一样。那些云计算提供商们经常吹嘘他们能够达到A到A级别的***可移植性,但事实上,真想达到A-A级别的性能效果,你必须要做大量额外的工作。
I/O调度问题其实也是优化的问题,你需要专门优化I/O底层系统的调度功能。记住I/O问题和云平台的弹性不同,不会在处理器饱和时进行自动调整。I/O问题的关键是需要以最有效的方式访问原始的I/O系统。有些云服务商能够提供I/O调度优化,有些则不能。
网络延迟问题也差不多。互联网不可能总是提供稳定的表现,因此你必须考虑到在云环境中的整体表现模型,把网络延迟问题考虑进去。如果在你的业务里,出现延迟会造成大问题,那么就不要迁移到云中。
另外,别忘了云环境中的不同系统之间进行通讯时也会发生网络延迟。我发现这一点经常被忽视,而且在实际操作中这样的延迟很难监测,而且更难理解,尤其是你无法接触到底层的物理系统,你需要和云服务商共同搞定这一点。
原文地址:http://www.infoworld.com/d/cloud-computing/heads-3-cloud-performance-gotchas-173073