我开始使用 Xdebug 和 WinCacheGrind 来更多地了解我编写的代码。
我目前正在测试一个使用 MySQL 存储为持久会话的购物车对象。
以下是对象在典型的“添加到购物车”操作中执行的步骤:
- 构造一个填充有默认值的购物车会话
- 使用 $_COOKIE['session_id'] AND $_SERVER['REMOTE_ADDR'] 在 MYSQL 中检查现有的购物车会话。如果是这样,mysql 行会填充购物车会话 (12 毫秒)
- 在购物车中设置国家代码和州代码以进行进一步的运费计算。
- 添加项目
- 添加项目选项
- 根据国家代码和州代码从 MYSQL 获取运输选项(常规、快递、次日)(9.1 毫秒)
- 根据购物车中的商品重量计算每个选项的运费
- 设置折扣(0.1ms)
- 设置用户首选的运输选项,例如。常规的;
- 在 MYSQL (93ms)中保存购物车会话,使用 php 函数序列化购物车内容。
- 在 VIEW 中显示购物车值。
对 db 的唯一调用是在第 2、6、11 步。
当然会有额外的数据库调用来获取项目详细信息、项目选项和折扣代码。但是对于示例,我将其保持在最低限度。
对于这个 PHP 请求,XDebug 给出的结果是 Cumulative Time : 130ms。
不好吗?
我真正的问题是,请求应该以“毫秒”为单位有多快?我听说 YouTube 的目标是 200 毫秒 Total 但是,我不是谷歌,也没有从未来工程师那里回来的这支超超级天才激光智能 2055 团队......
谢谢您的帮助。
C。