在网络世界中,很多小事都可能破坏一个网站(更新库、代码等)。
我们公司也遇到了这个问题,没有充分检查更新后会发生什么)。
这个主题是为了向您解释我们正在寻找什么:软件/您的建议,以便轻松检查可能引发新代码/库的新更新/等的所有影响。
以下有两个示例:
示例 1:
我们已经在其中一台服务器上安装了 NewRelic,但是,我们不知道 NewRelic(显然)为每个请求包含了很多 PHP 文件。
发生了以下情况:已达到 PHP 最大包含文件限制,并且某些页面崩溃(E_WARNING 错误)。
示例 2:
我们改变了两台 MySQL 服务器之间的复制类型 (从主服务器 -> 从服务器到主服务器 <-> 主服务器)。
事情是这样的:我们使用了 Percona,由于配置错误,两台服务器本身被禁止(由于大量的 SQL 查询)。
我们的问题:
我们希望尽可能详细地描述我们当前的结构。然后,我们希望依赖所有服务器、每个服务器使用的库、我们自制代码的特性等,并在我们想要升级任何东西时使用这些数据。
我们可以说“我要在此服务器上更新一小段 PHP 代码”。该软件可以帮助我们了解所有可能的问题/影响。
答案1
非常简单:它被称为测试或暂存环境。
您将其配置得与生产环境完全相同,然后以部署到生产环境的相同方式将其部署到该环境,然后对其进行广泛的测试。
没有分析的方法可以做到这一点;你必须做它。/编辑 - 对此进行扩展。单靠软件是不可能做到这一点的,尤其是在你自己的产品混杂其中的情况下。你必须建立一个基于详细阅读的规则集每一个一套发行说明,以及可能的错误数据库,适用于所涉及的每个产品 - 假设它们是公开和完整的,但这是永远不值得依赖的。因此,唯一真正的测试是执行计划的升级和测试功能——最好包括类似生产负载的东西。
这与您进行备份/恢复测试和 DR 测试的原因完全相同 - 除非被迫进行,否则您不会知道自己错过了什么,或者配置不当。最好在计划下进行测试,然后在生产中即兴发挥。