【发布时间】:2012-10-12 01:34:22
【问题描述】:
我有一个包含大量行的 MySql 表。我正在做一个简单的请求,它工作得非常快。当请求本身只需要 0.3 秒时,向客户端获取数据的唯一问题是大约 150 秒的速度非常慢。
我在客户端和 Amazon EC2 MySql 实例上使用 php 5.3 + ZendFramework。 PHP 代码和 MySql 位于不同的服务器上。
谁能告诉我如何提高数据获取速度?
【问题讨论】:
-
你能提供你正在运行的表结构和查询吗?需要检查你有什么索引等。如果它们都是有序的,那么我会看看分区策略。
-
这里需要更多信息!您的查询、其执行计划和配置文件、(相关)数据库架构、服务器配置、网络设计、硬件规格......
-
我认为您通过 amazon ec2 和您的服务器达到了连接速度限制。此外,您的服务器和计算机的连接速度也很慢
-
什么是巨大的?你能定义巨大吗?以及您的查询是如何解决的。您是否为您的数据库编制了索引,您是否正确地查询了所有数据?无线检索数据和通过电缆检索数据也有区别,因此您在这里放弃的信息并没有太多工作要做。
-
据我了解,您的问题暗示有些事情比它应该的要慢。所以这不是关于如何减少数据量,而是在给定的数据量下获得预期的速度。在这种情况下,您可能想在serverfault.com 上问这个问题,有能力的管理员(很可能比我们单纯的开发人员更好)可以告诉您如何识别作为瓶颈的确切组件,并且 - 如果它真的是传输 - 甚至可能如何要解决这个问题。 (但答案可能与此处相同:传输 x*10GB MySQL->PHP 时您期望什么 ;-))
标签: php mysql amazon-ec2 high-load