首页
学习
活动
专区
圈层
工具
发布

PHP无锁内存nosql---Yac的实战

接下来配置php.ini文件: vim /etc/php.ini //添加一下内容 extension=php-yac.so [yac] yac.enable = 1 //是否开启yac,1表示开启,...Yac的应用场景 让PHP进程之间共享一些简单的数据 高效地缓存一些页面结果 Yac的限制 缓存的键长度不能超过48字节,太长的话可以md5结果后再使用 Value的最大长度不能超过64M,压缩后的长度不能超过...> 然后对test-yac.php和test-mem.php文件分别进行ab压力测试: ab -n 10000 -c 100 http://localhost/demo/test-yac.php ab...-n 10000 -c 100 http://localhost/demo/test-mem.php 从上面的图中,可以看出结论了,Yac要比Memcache快很多,而且出错率很低,所以说Yac还是很不错的...小结   Yac很高效,但还是要注意一些方面,由于Yac是作为PHP的extension形式存在的,所以Yac只能在单机的多个进程之间共享缓存的,这一点一定要注意,一般用作第1级缓存。

1.4K30

PHP的另一个高效缓存扩展:Yac

PHP的另一个高效缓存扩展:Yac 之前的文章中我们已经学习过一个 PHP 自带的扩展缓存 Apc ,今天我们来学习另一个缓存扩展:Yac 。...什么是 Yac 从名字其实就能看出,这又是鸟哥大神的作品。毕竟是 PHP 的核心开发人员,他的作品每次都不会让我们失望。...不像外部缓存系统,在保存数组或对象时,PHP 扩展类的缓存都能直接保存这些数据类型,而不用序列化为字符串或者转化为 JSON 字符串,这是 Apc 和 Yac 的优势之一。...; echo $yac->a, PHP_EOL; // best new value a! set() 函数的作用就是如果当前缓存 key 存在,就修改这个缓存的内容,如果不存在,就创建一个缓存。...$yac->ttl2, PHP_EOL; // 20s sleep(10); echo $yac->get('ttl'), PHP_EOL; // echo $yac->ttl2, PHP_EOL

1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Class YafApplication not found 的报错排查,已经解决【php】

    一、备注 新配置Linux环境 由报错可知肯定是yaf框架,一个轻量级高效率基于PHP扩展由鸟哥开发的框架 index.php入口文件中报错 Yaf类没有找到 二、思路描述 1.因为新配置的环境,所以考虑下有没有安装...三、问题解决 1. php -m 查看PHP已经安装的扩展,类似phpinfo();(如果列表中存在yac,yaf说明已经安装) 2.yaf框架安装(发现我的机器没有安装) pecl地址:http:...//pecl.php.net/package/yaf wget下载或者直接上传安装包都可以 注意:yaf3是给php7使用的,如果你的PHP版本在7以下,请下载yaf2的版本,否则在make时会报错 解压到当前目录...] ; whether enable yac with cli, default 0 yac.enable = 1 yac.enable_cli = 1 4.重启php-fpm 5.如果访问项目,不正常...,但是没有错误提示 原因是php配置中的两个参数没打开 在php.ini找到以下这两个配置修改成On并重启php-fpm服务即可看到对应保存 display_errors = On display_startup_errors

    1.5K10

    【YashanDB知识库】共享集群YAC换IP

    【标题】共享集群YAC换IP【需求分类】安装部署,配置变更【关键字】安装部署,更换IP,运维,配置变更,高可用,YAC【需求描述】客户需要将已经部署的YAC集群更换IP,从测试网段切换生产网段【需求原因分析...】YAC部署IP,从测试网段切换生产网段【变更方法分析】共需要修改以下3个组件的IP信息配置:1、yasboot2、数据库3、YCS【操作方法】IP更换信息:yasboot配置修改共享集群换IP,如果共享集群是...yasboot工具部署的,那么首先要修改yasboot工具的IP配置信息。.../bin/bash/data/yasdb_home/yashandb/23.2.0.28/bin/ycsctl create cluster ycscluster -ycsdisk /dev/yac-diskb...,注意要使用配置文件的全路径:ycsctl import /tmp/ycrbackup.sh之后启动集群即可。

    22700

    鸟哥:PHP Next: JIT

    PHP7 已发布近两年, 大幅的性能提升使得 PHP 的应用场景更加广泛,刚刚发布的 PHP7.2 相比 PHP7.1 又有了近 10% 的提升。...在本次大会上,链家集团技术副总裁、PHP 开发组核心成员鸟哥发表了以 “ PHP Next: JIT ”为主题的演讲,分享了 PHP 的下一个性能提升的主要举措:JIT 的进展, 以及下一个大版本的 PHP...他表示,JIT 相比 PHP7.2 ,在一些场景可以达到三倍,但由于 JIT 的核心前提是类型推断,得到的信息越多效果越好,因此也容易受到限制。...PHP 7 的核心开发者,PHP5.4,5.5的主要开发者。...也是Yaf (Yet another framework),Yar(Yet another RPC framework) 以及Yac(Yet another Cache)、Taint等多个开源项目的作者

    71020

    windows宝塔PHP出现500怎么处理?

    windows宝塔PHP出现500怎么处理?...PHP版本选择 1、部分老程序支持5.2,请自行阅读程序支持的php版本 2、如您的程序需要开启opcache/xcache/apc/yac等扩展,请切换至php5.5以上版本,强行安装可能会导致网站无法访问...,请求超时等异常情况 3、php5.5+以上版本php为x64程序,与php5.2/5.3/5.4部分扩展存在兼容性问题 4、相同php版本opcache/xcache/apc等脚本缓存扩展,请只安装其中...1个,否则可能导致您的站点程序异常 注意:请按实际需求安装扩展,不要安装不必要的PHP扩展,这会影响PHP执行效率,甚至出现异常 网站出现间接性500错误一般属于扩展兼容性问题在 Windows 平台上共享内存段的基地址...所有的 PHP 进程都将共享内存映射到同样的地址空间,部分扩展会导致内存基址冲突,这些错误完全是随机性的 如您使用的是IIS,IIS默认5分钟内错误5次,则会停止此站点从而响应503,如不需要停止,请通过网站管理

    1.2K30

    深测实录:YashanDB共享集群YAC性能表现如何?一文揭晓!

    内容整理自 2024 年国产数据库创新生态大会 · “根技术”专场,前泽塔数科研发总监 王若楠对 YashanDB 共享集群(YAC)的深度测评。“共享存储架构,能国产替代吗?”...王若楠团队带着审慎甚至怀疑的态度,对 YashanDB 的共享集群 YAC 做了一轮系统性的实战测试,覆盖从架构、功能到极限负载下的高可用与性能表现,结论是:“稳定性和成熟度超出预期”。...测试覆盖四大维度架构层面:不是伪分布,而是真对称实测表明,YAC 四个节点均可读写,性能表现均衡;存储结构、线程模型完全自研,区别于市面上大多数产品;架构实现理念与 Oracle RAC 接近,但技术实现上更具特色...Swap 表空间设计,增强临时数据处理能力展示了在“稳定性优先、兼容性可靠、性能兜底”三要素之间取得了良好平衡结语:细节打动技术人,能力超出预期“从一个做数据库内核多年的人眼里看,YashanDB YAC...不靠噱头、不玩虚表,YashanDB 用稳定的表现和细节的积累,在国产数据库高可用领域打出一记漂亮的重拳。

    11510

    YashanDB共享集群产品能力观测:细节足见功底

    综上所述,核心业务系统中的功能性需求可以通过简单的修改和调整来满足。然而,高可用性、性能以及扩展性等问题,必须依赖于数据库的核心技术来解决。YAC产品到底能力如何?...(二)架构层面测试目标1.测试YAC是否为全对称架构,每个节点都可进行读写。2.测试产品的独特性。...2.测试集群对单节点性能的影响。3.测试YAC扩展性。...测试结论1.YashanDB单机最高性能202万,且CPU占用率接近65%左右;2.YAC集群单实例最优194万,相对单机202万可知YAC集群架构几乎对单节点的性能没有影响;3.YAC四节点集群随节点数的增加...在面临高压、高并发以及大内存使用的极端条件下,YAC都展现出了出色的稳定性,未发生内存溢出(OOM)等异常情况,且性能波动维持在极低水平。

    13810

    一起了解PHP中YaConf扩展的使用

    这个配置文件的写法其实与 php.ini 的这种 PHP 标准的配置格式比较类似,但是又有一些不同。不过内容非常简单,大家仅供参考。...没错,和 Yaf 、Yac 一样,又是我们鸟哥的作品。不得不说大神还是为我们贡献了很多很好的作品哦。后面我们还会讲一个它的小众开源扩展,而 Yaf 扩展我们将在未来学习框架的时候再深入地进行学习。...Yaconf 的安装也是普通地扩展安装的方式,不过它需要 PHP7 以上的版本。另外,在安装之后还需要在 php.ini 文件中指定 yaconf.directory ,也就是配置文件存放的目录。...似乎是比 php.ini 的写法强悍了一些。不过还不止。...当然,如果说你是鸟哥的忠粉或者本身公司系统是架构在 Yaf 、Yac 、Yar 之上的话,那么加上这个 Yaconf 的话就可以看作是一整套完整的高性能内部扩展架构。

    66420

    YashanDB|修改yac参数后执行shutdown immediate数据库卡住的原因和解决办法

    【问题分类】性能优化、数据库运维【关键词】YashanDB、yac、shutdown immediate、hang死、SHM_POOL_SIZE一、问题描述客户反馈在修改了YashanDB的共享集群(yac...)相关参数后,执行数据库关闭操作(shutdown immediate)时,出现了长时间的hang死现象,数据库无法正常关闭。...简单来说,就是因为配置的共享内存(SHM_POOL_SIZE)过小,导致shutdown时无法正常释放资源,造成数据库hang死。三、如何解决?...除了SHM_POOL_SIZE外,建议同时检查与内存和日志管理相关的其他参数设置,确保整体资源分配合理、充足。...五、日常运维经验总结调整YashanDB参数,尤其是共享集群(yac)参数时,应谨慎评估资源影响;建议定期监控共享内存、日志空间使用情况,预先发现资源不足风险;遇到shutdown或启动hang住现象时

    9410

    YashanDB 共享集群实测报告:性能、稳定性、架构三重验证,细节见真章

    我们团队对崖山数据库共享集群(YashanDB YAC)进行了系统性测试,从最初带着“怀疑”,到最终“认可”,是一次从工程视角对核心数据库产品的深度解析。一、为什么共享架构是核心系统首选?...这正是 YashanDB YAC 产品力测评的核心目标。二、架构能力测试:全对称 + 原创结构测试重点:是否为完全对称架构?每节点是否具备独立读写能力?是否具有区别于市面产品的技术结构?...测试结果:YAC 在扩展性上做到了“性能几乎无损 + 规模线性提升”。六、细节体验:工程化功底明显① 连接池表现优异:有效管理连接压力,避免系统过载,稳定性好。...② 内存资源极致控制:在高并发大事务场景下,YAC 没有出现内存溢出,内存调度策略科学合理,配合大页机制控制住了资源极限。...一句话总结崖山数据库 YAC 不仅是国产共享集群架构的“可用替代”,更是在细节打磨、架构自主、性能实测层面交出了一份稳健的答卷。

    15000

    著名的开源PHP论坛倒闭,项目停止,作者出走开源

    而 ZDNet 方面称,在 MySQL 团队宣布这一决定之后的两天,Twitter 的工程团队也宣布了类似的计划,以改变内部工具及其开源项目中的术语。...开源PHP论坛关闭,项目停止,作者出走开源 国内较为有名的开源 PHP 开源论坛修罗 BBS(Xiuno BBS)已于 7 月 6 日关闭,目前未见官方公告,访问该网站可见简单的说明: 国内什么时候有真正的开源环境了再见...它只有 20 多个表,源代码压缩后 1M 左右,运行速度非常快,处理单次请求在 0.01 秒级别,在有 APC、Yac、XCache 的环境下可以跑到 0.00x 秒,对第三方类库依赖少,作者认为它就像一辆纯手工打造的法拉利...,动力强劲,没有一丝赘肉,方便部署和维护,是一个非常好的二次开发的基石。...无论怎么样,让我们高呼:Php还是最好好的语言!

    73030

    从centos裸机一步一步搭建完整的PHP环境

    购买服务器:在阿里云上注册账号,如果是学生的话可以买学生套餐,否则买正常的。在用户面板会得到一个密码,用户名默认为root。这个密码是可以修改的。同时会获得一个公网的IP。...非常重要的就是修改完密码要重启一下服务器。 登陆服务器:在terminal执行ssh root@公网IP( ssh root@42.96.142.34),提示输入密码,输入之后登陆上。...一定要保证在服务器上这个文件所属的用户名是你的用户名(zoco)( chown -R zoco:zoco ~/.ssh ),而且权限设置为700( chown -R 700 ~/.ssh)。...install php-cli php php-fpm php-gd php-pecl-redis php-pecl-yac php-pecl-msgpack php-pecl-memcached php-pecl-imagick...的日志/var/log/php-fpm 安装java:sudo yum -y install java-1.8.0-openjdk* 安装bower:npm install bower -g 安装vim

    58141

    PHP 之道(PHP: The Right Way):书写更好的 PHP 代码

    网上有很多过时的 PHP 相关信息,传播着错误的 PHP 实践和糟糕的代码,让新手学习 PHP 的时候误入歧途,这种情况必须改变,所有一些 PHP 爱好者就创立了一个叫做 PHP 之道(PHP: The...Right Way)的网站,搜集 PHP 最佳实践,编码规范和网上权威的学习指南,给 PHP 学习者提供一个易于阅读,并且快速查找的入口。...PHP 之道的网站包括 PHP 的安装设置,基础,安全,缓存等等主题,对于无论初学者还是有一定基础的 PHPer 来说,都是不错的学习参考资料。...我们知道 WordPress 也是基于 PHP 的开源博客程序,所以对于 WordPress 的主题和插件作者来说,学习下这份文档也是很有必要,因为撰写更好且更容易让人理解代码会让你的主题和插件更加受欢迎...简单说 PHP 之道是一个 PHP 开发人员必须查看的指南,并且已经有同学吧这个文档翻译成中文。最后你可以帮助进一步改善这个文档(host 在 GitHub)。

    88910

    php:output和php:stdout的区别

    从PHP的官方文献中找答案,对输入流php://stdin和php://input的解释分别如下(输出流的解释过于简略): php://stdinphp://stdin, php://stdout and...文档并未直接阐述两者的区别,仔细对比可得出以下信息:1. 均是只读流;2. php://stdin是PHP进程的标准输入,php://input用来读取请求正文的原始数据。...顺着php://stdin进程输入的提示,联想PHP进程的执行过程,再结合SAPI的差异,可以得到两者主要区别:php://stdin是PHP进程的输入流,执行生命周期内均可能有数据流入(例如CLI下的交互式输入...);php://input是PHP执行时的外部输入流,一般数据只能读一次(具体看SAPI的实现)。...同理可得到php://stdout和php://output的区别:php://stdout是PHP进程的标准输出流,php://output是返回的结果数据流。

    2K10

    YashanDB|崖山共享集群(YAC):从怀疑到认可,技术细节决定产品成色

    带着这个视角,我们团队对 崖山数据库共享集群(YAC) 进行了全面测试,以下是从架构、功能、高可用、性能四方面的真实测评结论。...一、共享存储架构的现实价值共享集群架构以 Oracle RAC 为代表,是目前金融、电力等核心系统的首选架构。...当前的“国产替代”不只是跑起来的问题,而是要跑得稳、跑得好,甚至比原来的系统更具经济性。二、架构能力测试|对称可写 + 原创设计测试目标:验证是否每个节点均可读写;检查存储与进线程结构是否具备独特性。...三、功能兼容测试|Oracle 兼容度高,细节拉满从系统表、DBA 视图、PL/SQL 语法、事务控制、非自动提交机制等多个维度对比 Oracle,YAC 兼容度非常高,且对使用习惯有精准还原。...总结评价从一位数据库底层工程师的角度出发,YAC 是少数能在架构、性能、高可用与可控性四个层面全面“过线”的国产数据库产品。不仅是平替,更是架构能力、工程能力、细节功底的集中体现。

    25410
    领券