最大化SQL连接+ Apache线程

我有一个专用的服务器,我运行MySQL + Apache。 我运行一个聊天脚本,每3秒轮询一次。 现在昨晚我的MySQL服务器因负载而死亡。 我想知道如何最大化我的MySQL线程以及Apache线程。

有人可以指向我可以帮助我实现相同的url吗?

感谢您的时间。

MySQL性能信息的规范位置是MySQL性能博客 。 还有Jeremy Zawodny的高性能MySQL书。

您可能想要在应用程序中查看某种forms的连接池,它将重用现有数据库连接,而不是为每个新会话创build一个新连接。 这将减less打开一个新的TCP连接和任何MySQL处理的开销。 它还应该减lessMySQL正在运行的空闲连接的数量,因为每个连接都需要一定量的内存来存在。

你可以做的另一件事是大规模减less你的数据库的负载是整合memcached。 Memcached是内存中的分布式键值存储; 就像一个networking连接哈希映射一样。 您将修改您的应用程序以轮询memcached,如果没有数据,则检查数据库。 当您更改数据时,将其写入数据库并使memcached中的数据无效。 这意味着你将轮询明显更快的memcached而不是MySQL。

一旦你已经实现了这些function,并且只有当你有了,你才能开始查看调整MySQL参数。 如果你不知道自己在做什么,那么有一个巨大的潜力可以把事情搞得一团糟,最终数据库的结果比以前要慢。 在尝试这个之前,我至less应该阅读MySQL性能书籍。

如果你能花更多的钱,第一个改进就是把你的数据库拆分到一个单独的服务器上。 如果这还不够,可以开始考虑使用主复制设置和从复制设置,写到主服务器,但读取在主服务器和从服务器之间传播。 这对于读取繁重的工作负载特别有效,这是相当常见的。