【问题标题】:Using 2 servers for MySQL为 MySQL 使用 2 台服务器
【发布时间】:2012-07-09 17:59:26
【问题描述】:

我的网站有 2 台服务器

  • 网络服务器
    • 用于发送动态内容,主要使用 PHP 创建
    • 大量 RAM 和快速处理器,只有几 GB 的硬盘空间。

还有一个

  • 文件服务器
    • 用于发送静态内容、图片、视频等。
    • 几 TB 的硬盘空间,没有那么多的 RAM 和较慢的处理器。

我想用 Web Server 的速度,但是 File Server 的空间。但我听说 NFS 的开销会使它变得如此缓慢,这无关紧要......

我将使用 MySQL,我想知道我应该如何优化数据库,以便我可以将数据保存在文件服务器上,但由 Web 服务器执行和处理查询。

【问题讨论】:

    标签: mysql networking dynamic static


    【解决方案1】:

    根据我的经验,您收到的建议是正确的...在一个机器上运行 mysqld 并通过 NFS 使用远程服务器进行文件存储并不是很快(如果远程存储是 SAN,那将是另一回事)。

    您可以减少访问数据库的次数,并通过在该层上缓存来利用 Web 服务器上的 RAM。考虑引入 memcached 之类的东西来帮助处理最昂贵的 MySQL 操作。

    如果您的某些表很小但经常使用,您可以考虑在您的 Web 服务器上为这些表运行第二个 MySQL 实例。但请记住,您将需要管理两个不同的数据库故障点(适当的备份、安全更新等)。

    【讨论】:

    • 什么是 SAN?我现在正在使用 memcached,大多数表很快就会变大并且不同,所以缓存查询没有那么有用......我希望转移到像 Sphinx 这样的第 3 方搜索,但现在,我不确定如何构建系统..
    • SAN 是一种存储区域网络...一种具有非常快的网络 IO 路径(例如光纤通道)和许多磁盘的存储设备。它们不会遇到使 NFS 太慢且对数据库操作不可靠的问题。
    • 非常感谢,我会尝试一下,看看是否可以迁移到那个...
    猜你喜欢
    • 2011-08-09
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 2020-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多