我需要将我的web应用程序从MySQL转换为在DB2上运行。我需要事先知道我是否需要一个高规格的服务器,以确保web应用程序以与现在在MySQL上相同的速度执行。
该应用程序是一个具有浏览器界面的数据库密集型数据分析应用程序。它现在只使用大约20%的可用CPU功率和30%的服务器内存。如果转换为DB2,是否需要更多的CPU或内存?我需要一个高规格的服务器吗?
我只是想了解一下,如果其他一切(数据库大小、流量等)保持不变,是否需要服务器升级来实现MySQL到DB2的转换。
发布于 2011-12-05 12:18:41
你在使用isam还是innodb?
通常,DB2比当前版本的mysql需要更少的系统资源。然而,如果这是您想要的性能,而且数据库的大小(S)不太大,那么实际上您可能需要考虑切换到postgresql,因为它比mysql的“特性”(阅读:臃肿)要少得多。有时您需要mysql,但是如果不需要,那么使用pgsql通常是一个更好的主意。
发布于 2011-12-02 17:31:22
如果您运行mysql或DB2,我认为这不会有太大的区别。但是,除非你真的亲自尝试,否则你将无法确定性能。我建议您在类似于当前系统的测试环境中进行尝试。
发布于 2011-12-15 22:33:25
如果您让服务器上的自调优内存管理功能(STMM)启用,那么DB2应该相当有效地利用服务器上的内存,前提是DB2之外的进程以良好的方式分配和释放它们的内存。STMM调整几个高影响内存缓冲区和堆的大小,以适应不断变化的数据库工作负载。在DB2的最后几个主要版本中,默认情况下启用了此特性,并且通常会到达与DB2专家手工调优的数据库几乎相同的内存设置。STMM的一个警告是,设计禁止其内存大小发生剧烈波动,这意味着STMM可能需要进行几次增量调整,以适应数据库利用率的急剧上升或下降。DB2提供了丰富的内置监视功能,帮助您跟踪内部内存结构的效率和增长模式,这样您就可以快速了解特定工作负载的“正常”状态。
在CPU方面,提高性能和可伸缩性的最大风险之一是扫描,即使所有必需的数据页已经缓存在缓冲池内存中,扫描也会消耗CPU周期。随着表的增长和查询的扩展,了解索引是如何工作的,以及何时对特定的SQL语句使用或忽略索引尤为重要。有时,不能接受的扫描并不是因为索引错误或连接谓词糟糕,而是因为RUNSTATS收集的表的基数和分布统计信息已经过时,这导致DB2's基于成本的查询优化器低估了使用部分或全部扫描的后果。db2expln实用程序将通过考虑当前统计信息来显示建议查询的访问计划。在运行时,还可以监视读取(扫描)的行数和实际选中的行数,这可以让您了解工作负载的结果集正在发生多少搅动。
https://serverfault.com/questions/337071
复制相似问题