多个数据库查看单个php代码库问题?

时间:2013-06-28 09:55:24

标签: php performance codebase

我正在使用php制作解决方案,我正在考虑为不同的客户端安装多个。如果我有20个数据库,将它们指向同一个php代码库有什么不对吗?例如。速度问题,还是不好的做法?

提前感谢您的想法和专业知识: - )

2 个答案:

答案 0 :(得分:3)

这可能并且不会影响你的表现,但它有一个缺点。

如果您有一个代码库,则意味着您必须在更新时重新检查所有客户端是否存在错误。 因此,您的客户最好将代码库分开,以便您可以更新特定客户端的代码库并防止其他客户端出错。

如果一切似乎对一个客户端有效,您可以考虑为另一个客户端进行相同的更新。

如果您拥有每个客户的自定义代码,如果它是一个类似邮件管理系统的应用程序,则会出现这种情况 这根本不是一个坏习惯。

如果您为每个客户分配了版本号,那就太好了。 这样就可以在单个客户端上测试新版本,并慢慢地将其他客户端迁移到更新的版本

答案 1 :(得分:1)

我会说与Visser相反。如果一个安装中存在错误,那么除非您提供软件的自定义版本,否则所有安装中都会存在相同的错误。当然,不同的客户可能会以不同的方式使用这些应用程序,因此有些客户可能永远不会遇到使另一位客户的业务陷入停滞的缺陷。因此,我再次不同意Viseer它不会影响性能 - 使用上的差异可能会导致特定客户的整体性能出现非常明显的差异,但是在PHP层进行调优将使所有客户受益。在数据库层进行调优的情况略有不同 - 一些客户可能会从一个会降低其他客户速度的索引中受益。

如果您确实为代码的行为提供了每个客户的变体,那么您如何执行此操作取决于这些变体的复杂程度。理想情况下,差异应该在数据库中描述,然后相同的PHP代码会产生不同的结果 - 例如一个客户想要一个独立的用户管理和身份验证系统,另一个客户希望使用LDAP身份验证,第三个OpenID - 在这种情况下,您的代码应该实现所有3和基于数据在运行时选择的方法。

有时(但很少)实现这种方法并不可行,并且为不同的安装使用不同的应用程序逻辑是解决方案。在这种情况下,正确的方法是在版本控制系统中维护一个fork。一个例子是在网站上不同的品牌 - 除非你'再上一个内容管理系统之上开发,那么它' S可能更易于使用不同的CSS文件(I' M苦苦思考的例子其中不同的PHP代码是合理的。)