扩展DB2以提高tps

扩展DB2以提高tps,db2,cluster-computing,database-partitioning,Db2,Cluster Computing,Database Partitioning,我想和你们一起集思广益,讨论一下DB2的伸缩选项。希望能帮助我解决这个问题 我需要扩展DB2数据库,以预测到数据库服务器的flash群组事务。我的数据库在应用程序中只能提供大约每秒200个事务++的服务,而不是在数据库完全停止运行并耗尽cpu之前的数据库tps 你们怎么想,如果我想增加到2000++或之前的10倍,我有什么选择来扩展我的数据库 最近我读到了关于pureScale特性的文章。它看起来很有前途,但它的解决方案并不灵活,这意味着它只能部署在IBMSystemX上,而我们的解决方案则不然

我想和你们一起集思广益,讨论一下DB2的伸缩选项。希望能帮助我解决这个问题

我需要扩展DB2数据库,以预测到数据库服务器的flash群组事务。我的数据库在应用程序中只能提供大约每秒200个事务++的服务,而不是在数据库完全停止运行并耗尽cpu之前的数据库tps

你们怎么想,如果我想增加到2000++或之前的10倍,我有什么选择来扩展我的数据库

最近我读到了关于pureScale特性的文章。它看起来很有前途,但它的解决方案并不灵活,这意味着它只能部署在IBMSystemX上,而我们的解决方案则不然。在“共享一切”方法中是否还有其他类似pureScale的解决方案

第二个选项可能是数据库分区。数据库分区或无共享方法是否有助于解决我的问题?可以为我的系统增加处理能力吗

感谢和问候


Fritz

在您担心如何扩展(一台服务器中有更多硬件)或扩展(更多服务器)之前,先看看如何优化您的数据库。花钱解决性能问题几乎总是比花时间查找和修复性能问题更昂贵

假设数据库服务器上消耗CPU的进程是数据库引擎,那么高CPU活动和低I/O活动表明您正在进行大量读取,但它们都在内存中。扫描一个巨大的表仍然效率低下,即使该表完全存储在内存中(缓冲池)


查找使用最多CPU的SQL语句。查看解释计划,并找出如何使其更有效。web上有许多用于数据库性能优化的资源。

请删除硬件。在一台具有4个内核+合适的磁盘子系统的虚拟机上,我可以处理数千个database事务,因此很明显,您的编程效率极低(消耗数据库服务器CPU的是什么?事务处理中的数据库服务器是IO绑定的,而不是CPU绑定的).这是我的第一位客人,但当我监控服务器I/o时,情况太糟了。I/o很低,但cpu耗尽了,速度达到100%。我的服务器很强大。CPU为2个插槽(共24个内核),RAM为24gigs,存储容量充足,配置RAID 10。从分析中,我捕获了一个关于200s sql的事务(180个选择,20个插入和更新)。这毫无意义-这不是一个数据库应用程序,您使用数据库服务器作为应用程序服务器吗?您应该是IO问题,而不是数据库问题。当您想要扩展时,在数据库服务器中使用逻辑是不好的——这是最难扩展且成本最高的部分。不。逻辑仍在应用服务器中。我仍然不明白为什么处理能力会耗尽。有什么意见吗?是否有扩展db2的选项?或者扩展数据库可以解决我的问题吗?不,这里不是db2专家,但说真的-这听起来像是某个地方的问题。如果您使用纯SQL而不是大量的聚合等,那么CPU通常是没有问题的。这是最后一个出现瓶颈的项目。