【问题标题】:What is the ideal target time for rendering a page of a PHP forum? [closed]呈现 PHP 论坛页面的理想目标时间是多少? [关闭]
【发布时间】:2016-01-19 21:06:02
【问题描述】:

我正在创建这个问题,因为我目前正在 PHP 论坛上利用我的空闲时间(为了好玩),使用 MySQL 作为我的数据库。有一段时间(大部分基本功能正在实现),我一直在质疑我的脚本的性能。

我已经对我的脚本进行了一些分析并改进了其中一些,但我最终总是遇到同样的问题:什么是渲染论坛典型页面的好目标时间?在我的例子中,这样的页面包括显示给定主题的 20 到 50 条消息(用户可以决定他们想要在每页显示多少条消息),其中大约一半使用像在消息下方显示为图库的上传等功能(其中涉及字符串解析和使用 file_exists()) 检查文件是否存在。

在阅读了本网站上有关 PHP 性能的一些主题后,我了解到 Youtube 的目标渲染时间为 100 毫秒(= 0.1 秒)。对于我最重的页面,我设法使加载时间低于此目标时间,但仅在一段时间后,由于使用 file_exists() 进行 PHP 缓存(我使用 WAMP 服务器在本地运行我的项目)。但我怀疑我真的可以将我的项目与像 Youtube 这样功能丰富的网站进行比较。所以,

  • 当呈现(在 HTML/CSS 中)我的“典型”页面时,我应该以什么时间为目标?坚持 100 毫秒的限制是否可以接受,还是应该低于(例如,低于 50 毫秒)?是否有任何关于当前最先进论坛的已知统计数据可供我参考?

  • 由于我目前正在使用 WAMP 服务器,它是否会在分析我的脚本时引入偏差?它相当于您的普通启用 PHP 的 HTTP 服务器,还是平均运行速度更慢/更快?

这个问题让我很感兴趣,因为我设计的一些功能给我的脚本增加了一些开销(它会随着显示的消息数量而变化)。例如,我嵌入视频的格式代码不是在创建消息时解析,而是在显示时解析,因为我希望能够轻松更改嵌入代码以及允许用户选择嵌入视频的方式(直接,或使用小/HQ 缩略图,单击时替换为嵌入代码)以方便使用。当然,我也可以在提交新消息时解析代码以减少开销,但我想确定这是必要的。

我希望这不是太含糊...提前感谢您的回答。

【问题讨论】:

  • 可能ux.stackexchange.com 被接受 - 虽然我想它也会被认为是题外话
  • 为了回答您自己的问题,您需要定义“您的平均启用PHP的HTTP服务器”究竟是什么?什么是普通的 PHP 服务器?平均众数还是中位数?
  • 您可能对此感兴趣:fastcompany.com/1825005/…
  • @Martin 为了更好地了解我感兴趣的服务器类型,我可能将我的项目放在共享托管服务上,例如 OVH数周或数月(取决于我的进步程度)。
  • 这个话题可能会在serverfault.com 讨论。但答案(任何地方)将是笼统的意见,因此大多毫无价值。

标签: php mysql performance wampserver forum


【解决方案1】:

说实话,我认为您的兴趣远远超出了您的需求,而且还有太多其他因素可以影响 PHP 执行脚本的速度。一旦您设置了基线可靠的服务器环境并持续运行,就值得一看。

对你说是毫无意义的“哦,但是你需要将你的 PHP 执行保持在 0.1 秒以下”,因为影响执行速度的因素很少,实际上是可控的,除非你是实际上亲自管理服务器(例如设置有多少用户,或调整 RAM,或设置哪些安全措施到位)。您在 cmets 中引用您将在共享服务器上,因此对执行运行速度的最大影响之一是其他用户的数量和他们的 PHP 应用程序的大小(以及服务器设置、状态等)。 )。

这个话题可能会在https://serverfault.com/ 讨论。但是答案(任何地方)将是普遍的意见,因此在我看来几乎毫无价值。这些只是一些人认为一个程序比其他程序花费十分之几秒是一件可怕的事情,它对输出最终结果的影响很小,因为互联网在端点浏览器上显示一个页面,还有很多其他方法可以使该事件更快更有效地发生....

PHP 执行时间是您可以控制的相对较少的时间,但与 HTTP 请求时间相比,它几乎可以忽略不计,检查 HTTP 请求时间和执行操作要有用得多比如缓存静态文件和缩小 CSS/JS 相关文件,以便页面在互联网上加载得更快你的 PHP 执行时间可能是 0.05 秒,但你的 HTTP 请求时间可能长达 3 秒,所以这是微观管理最需要改进的领域,真的,如果你想微观管理加载时间,你要做的第一件事就是离开共享服务器并获得自己的专用服务器!

在共享服务器环境中,导致 PHP 执行速度变慢的大多数因素都将超出您的控制范围,例如 RAM 可用性、服务器上运行的其他系统以及服务器上的其他用户以及他们的身份使用相同的 PHP 运行。

有用的链接:http://www.webpagetest.org/

如果您确实想检查您的代码是否尽可能高效和快速,那么我建议您在 Code Review Stack Exchange Site 上提出这个问题。

无论如何,祝你好运:)

此外,对 Youtube 的引用也毫无价值,因为 Youtube 甚至不运行 PHP,而是使用 GO 编程语言。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多