LAMP 中的性能:文件系统与数据库
Performance in LAMP: Filesystem vs. Database
我需要设计一个具有可由某些特定用户配置的友好 URL 的网站。它们必须在数据库中进行管理(哪个用户创建的,必须加载哪个模块和数据等),并且它们必须具有一些权限系统(视图、操作等)。
问题是:如果我为每个路径(如/section/subsection/index.php)创建一个php文件,由Apache直接加载,性能会更好,它会如果我检查数据库中的每个查询会更好,还是取决于页面的种类?
会有3种页面:
- 大部分是静态的(一旦创建就不需要连接数据库)
- 定期更新(我可以删除那些不更新的页面)
- 主要是动态的(比如加载用户事件,这需要执行数据库查询)
是否有关于此的现有分支标记?
如果没有对您的设置、每个 section/subsection 中的条目数、负载类型等进行更详细的描述,没有人可以为您回答这个问题。
而且真的,除了一些病态的用例,没有人应该。您应该使用实施中的基准数据回答您的问题。
我在您使用 PHP 文件描述的解决方案中看到的唯一明显缺点是代码重复,但如果您有一些自动创建文件的功能,这将很容易管理。
简单的答案:做更容易编码的事情。性能差异太小了。
我发现静态页面更容易成为文件。并构建了 PHP 构建的页面。有时我有 1 php 个文件构建 1 个页面。有时我有 1 php 个文件构建许多页面,通常是一页上的小变体。但是,我必须通过参数来说明我正在构建哪个变体。
我需要设计一个具有可由某些特定用户配置的友好 URL 的网站。它们必须在数据库中进行管理(哪个用户创建的,必须加载哪个模块和数据等),并且它们必须具有一些权限系统(视图、操作等)。
问题是:如果我为每个路径(如/section/subsection/index.php)创建一个php文件,由Apache直接加载,性能会更好,它会如果我检查数据库中的每个查询会更好,还是取决于页面的种类?
会有3种页面: - 大部分是静态的(一旦创建就不需要连接数据库) - 定期更新(我可以删除那些不更新的页面) - 主要是动态的(比如加载用户事件,这需要执行数据库查询)
是否有关于此的现有分支标记?
如果没有对您的设置、每个 section/subsection 中的条目数、负载类型等进行更详细的描述,没有人可以为您回答这个问题。
而且真的,除了一些病态的用例,没有人应该。您应该使用实施中的基准数据回答您的问题。
我在您使用 PHP 文件描述的解决方案中看到的唯一明显缺点是代码重复,但如果您有一些自动创建文件的功能,这将很容易管理。
简单的答案:做更容易编码的事情。性能差异太小了。
我发现静态页面更容易成为文件。并构建了 PHP 构建的页面。有时我有 1 php 个文件构建 1 个页面。有时我有 1 php 个文件构建许多页面,通常是一页上的小变体。但是,我必须通过参数来说明我正在构建哪个变体。