资讯专栏INFORMATION COLUMN

Asf PHP 开发之配置信息常驻系统内存

amuqiao / 1270人阅读

摘要:传统与比较传统的框架每次请求都会去重新加载配置文件。开启情况下还是有执行的过程时间框架读取到配置文件的内容保存到系统内存下一次请求直接去内存读取数据。也提供非常简单的配置实现。

传统MVC 与 Asf 比较 传统的MVC框架

每次请求都会去重新加载配置文件。即使配置文件内容没有更新, 也会去重新加载一次。这是一个很不好的设计。(开启Opcache情况下, 还是有执行的过程时间)

Asf框架

读取到配置文件的内容保存到系统内存, 下一次请求直接去内存读取数据。Asf 也提供非常简单的配置实现 Config Cache。

什么场景下开启Config Cache合适?

建议在Web应用场景下都开启吧, 后面版本可能会默认启用

在CLI、多线程模式下开启同样生效, 只是PHP脚本每次执行完就释放了

支持数据类型有: strings, arrays, integers, boolean, doubles, floats, null

流程图

开启缓存方法

框架入口方式加载php/ini配置文件
run();
AsfConfigPhp 加载php配置文件

AsfConfigIni 加载ini配置文件

读取配置内容方法
getConfig()->toArray());
print_r(AsfConfig::get()->toArray());
性能测试

在开启 Opcache 情况下, 简单做了一个 Config Cache 性能测试, ab -c100 -n10000

配置文件中配置项复杂程度与性能指标是有直线联系的哟

开启缓存 asf.cache_config_enable = 1
Total transferred:      16109994 bytes
HTML transferred:       14259994 bytes
Requests per second:    6859.01 [#/sec] (mean)
Time per request:       14.579 [ms] (mean)
Time per request:       0.146 [ms] (mean, across all concurrent requests)
无缓存
Total transferred:      16080000 bytes
HTML transferred:       14230000 bytes
Requests per second:    6398.22 [#/sec] (mean)
Time per request:       15.629 [ms] (mean)
Time per request:       0.156 [ms] (mean, across all concurrent requests)
提示

Cache Config 不是基于共享内存的, 是基于 PHP 进程的哟, 不会有共享内存锁的问题。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28754.html

相关文章

  • 新一代轻量级PHP扩展框架 Asf

    摘要:一是什么全称用语言编写的轻量级扩展框架专注于开发。这里只是给出了一种测试方法通过多次不同并发数测试结果得知与原生性能消耗是。业务开发速度结论采用框架开发业务代码量能节约。 showImg(https://segmentfault.com/img/bVbamHp?w=320&h=320); 一、Asf 是什么? 全称 API Services Framework, 用C语言编写的轻量级P...

    iOS122 评论0 收藏0
  • Asf PHP扩展框架预警模块介绍

    摘要:一什么是预警预警可以理解成我们日常生活中的体检,每个人不管是富贵,还是贫穷,有一个健康的身体才是事业和生活的基础。 一、什么是预警? 预警可以理解成我们日常生活中的体检,每个人不管是富贵,还是贫穷,有一个健康的身体才是事业和生活的基础。 项目的健康我们形象比喻成1,项目的N多子功能/子模块,比如登录模块、注册模块等都是1后面的0,如果项目都出问题了(比如 Http Status Cod...

    Labradors 评论0 收藏0
  • swoolefy-基于swoole扩展实现的高性能的常驻内存型API和Web应用服务框架

    摘要:是一个基于扩展实现的轻量级高性能的常驻内存型的和应用服务框架高度封装了,,服务器,以及基于实现可扩展的服务,同时支持包方式安装部署项目。基于实用,抽象事件处理类,实现与底层的回调的解耦,支持同步异步调用,内置等常用组件等。 swoolefy swoolefy是一个基于swoole扩展实现的轻量级高性能的常驻内存型的API和Web应用服务框架,高度封装了http,websocket,ud...

    lewinlee 评论0 收藏0
  • IMI 基于 Swoole 开发的协程 PHP 开发框架 常驻内存、协程异步非阻塞

    摘要:介绍是基于开发的协程开发框架,拥有常驻内存协程异步非阻塞等优点。宇润我在年开发并发布了第一个框架,一直维护使用至今,非常稳定,并且有文档。于是我走上了开发的不归路 showImg(https://segmentfault.com/img/bVbcxQH?w=340&h=160); 介绍 IMI 是基于 Swoole 开发的协程 PHP 开发框架,拥有常驻内存、协程异步非阻塞IO等优点。...

    airborne007 评论0 收藏0
  • [转]详解PHP设置定时任务的实现方法

    摘要:服务器定时任务服务器定时任务需要你是独立的服务器,或者是,总之就是对系统的配置有足够的权限,虚拟空间就不要折腾这个方法了,因为你没有权限。 文章转载自:问说网 » 详解PHP设置定时任务的实现方法地址:http://www.uedsc.com/php-timing-task.html 定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大...

    lemon 评论0 收藏0

发表评论

0条评论

amuqiao

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<