opcache缓存的操作小工具cachetool

Posted by 夏泽民

https://github.com/tkem/cachetools https://pypi.org/project/cachetools/ opcache是个提升php性能的利器,但是在线上服务器真实遇到过偶尔几台服务器代码上线后,一直没有生效,查看opcache的配置也没有问题。后来没有办法,就在上线步骤中增加了重启php-fpm的操作。今天发现了一个小工具cachetool。可以方便的使用命令行清除opcache的缓存。 当然除了重启php-fpm的进程可以清理opcache缓存外,opcache本身是支持清除缓存的。手动清理缓存涉及到的opcache函数主要为:opcache_reset()和opcache_invalidate() 。 但是opcache_reset()是php中的函数,需要在php脚本中执行,另外当PHP以PHP-FPM的方式运行的时候,opcache的缓存是无法通过php命令进行清除的,只能通过http或cgi到php-fpm进程的方式来清除缓存。 而opcache_invalidate 废除指定脚本缓存是使指定脚本的字节码缓存失效。可用于明确更新的代码文件列表时使用,但不方便清除整个脚本的缓存。cachetool使用起来也非常方便。如下:



Linux系统调用--access

Posted by 夏泽民

【access系统调用】



Mysqlnd 主从复制和负载均衡插件 mysqlnd_qc

Posted by 夏泽民

原来的libmysql用的好好的,为什么还要搞一个mysqlnd出来呢? 原因一: license问题 libmysql是MYSQL AB公司开发的,现在已经是Oracle集团所属的了,它使用MYSQL license发布。 This ultimately led to MySQL support being disabled by default in PHP mysqlnd 是php的一部分,使用PHP license发布。 从此 licensing 的问题就算是解决了。 原因二:编译问题 使用libmysql的时候,如果要正常编译php,必须首先安装好mysql。 如果是单纯的一台WEB服务器,装个mysql似乎有点浪费了。 mysqlnd的话,就不必安装mysql,直接可用。 原因三:性能问题 由于mysqlnd是一个php扩展,使用了php memory management system,在内存使用方面效率相当高。 举个例子: 使用libmysql的时候,mysql结果集中的每一行都在内存中储存了二次 ! 使用mysqlnd,结果集只会储存一次。 而且它还服从于php.ini中memory_limit的设置。 Using MySQL Native Driver leads to comparable or better performance than using MySQL Client Library。 mysqlnd的新特性 1 改进的persistent connection。 2 特殊函数 mysqli_fetch_all()



Dapper

Posted by 夏泽民

dapper是通过trace tree和span构建跟踪系统的。



mysql-proxy

Posted by 夏泽民

https://downloads.mysql.com/archives/proxy/ mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。



Search

Popular posts

Anything in here will be replaced on browsers that support the canvas element

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required