Author: admin

swoole+inotify实现异步实时文件监控

inotify扩展介绍

inotify是Linux内核提供的一组系统调用,它可以监控文件系统操作,比如文件或者目录的创建、读取、写入、权限修改和删除等。

inotify使用也很简单,使用inotify_init创建一个句柄,然后通过inotify_add_watch/inotify_rm_watch增加/删除对文件和目录的监听。

PHP中提供了inotify扩展,支持了inotify系统调用。inotify本身也是一个文件描述符,可以加入到事件循环中,配合使用swoole扩展,就可以异步非阻塞地实时监听文件/目录变化。…

    

在MySQL的InnoDB存储引擎中count(*)函数的优化

写这篇文章之前已经看过了很多数据库方面的优化内容,大部分都是加索引、使用事务、要什么select什么等等。然而,只是停留在阅读的层面上,很少有实践,因为没有遇到真实的项目,一切都是纸上谈兵。实践是检验真理的唯一标准,于是就想在数据库上测试一些性能优化的方案,比如索引之类的,但是不想使用假的数据,于是就想着能不能抓取网上的一些数据来作分析,后来自己通过PHP抓取了一些数据(爬取数据博文),抓了大约110W的用户数据之后,当然需要统计一下具体的数量,于是我使用了以下的SQL语句(我使用的存储引擎是InnoDB):

SELECT COUNT(*) FROM zh_user;
        

MySQL 5.6 & 5.7最优配置模板

Inside君整理了一份最新基于MySQL 5.6和5.7的配置文件模板,基本上可以说覆盖90%的调优选项,用户只需根据自己的服务器配置稍作修改即可,如InnoDB缓冲池的大小、IO能力(innodb_buffer_pool_size,innodb_io_capacity)。特别注意,这份配置文件不用修改,可以直接运行在MySQL 5.6和5.7的版本下,这里使用了小小的技巧,具体可看配置文件。如果配置参数存在问题,也可以及时反馈Inside君,我们一起成长。

触发Inside君做这件事情的原因是大部分网络上的MySQL配置文件都非常非常古老,大多都是基于MySQL 5.1的版本,这导致了绝大部分MySQL并没有运行在最优的环境,从而导致一些错误的使用,亦或是灾难性事故的发生,比如数据丢失,主从数据不一致等。而这些问题早在5.6版本及以后的版本中得到了解决。…

数据库范式那些事

简介

数据库范式在数据库设计中的地位一直很暧昧,教科书中对于数据库范式倒是都给出了学术性的定义,但实际应用中范式的应用却不甚乐观,这篇文章会用简单的语言和一个简单的数据库DEMO将一个不符合范式的数据库一步步从第一范式实现到第四范式。

 

范式的目标

应用数据库范式可以带来许多好处,但是最重要的好处归结为三点:

1.减少数据冗余(这是最主要的好处,其他好处都是由此而附带的)

2.消除异常(插入异常,更新异常,删除异常)

3.让数据组织的更加和谐……

虽然挖坑不埋,但依然忍不住要为 Linux 回答一个问题

【编者按】 前几日我们推荐了用户 @garfileo 的两篇《Linux 挖坑不埋指南》,受到众多关注,有人就其文中的一些观点产生了疑问,于是作者再写一篇《虽然挖坑不埋但依然忍不住要为 Linux 回答一个问题》,以解疑惑。这里再次推荐给大家阅读。

 

前两篇:

以下是原文内容。…

干货 | PHP 开发中的外围资源性能分析(一)

暂且不讨论「PHP 是不是最好的编程语言」,本文我们将分别分析一下在 PHP 程序的后端外围资源和前端外围资源,它们对整个 PHP Web 应用体验的影响,这往往比语言本身大得多。

首先,后端外围资源,是指跟 PHP 运行过程中与语言本身无关的网络与 IO 操作、存储服务、中间件代理、缓存和数据库访问等,在本文中,我们先分析 IO 操作和中间件服务。

为什么外围资源的性能分析,要以以上三者分析为主?我们可以看如下国内专业的性能监控工具 OneAPM 的 PHP Web 应用后台截取下来的总览图,通过这个图可以看到,数据库所花费的时间在总 PHP 响应时间中,占据着 60% 甚至更大的比重,而 Memcached 缓存服务,在这张图里所占的响应时间,几乎看不见。…

    

PHP 性能分析10则

导读:昨天给大家分享了PHP 性能的微观分析之PHP性能分析相关的函数,本文是PHP 性能的微观分析的第二篇文章,希望对大家有帮助。

下面我们根据小程序来验证一些常见的性能差别。

 

2.1、使用 echo 还是 print


在有的建议规则中,会建议使用 echo ,而不使用 print。说 print 是函数,而 echo 是语法结构。实际上并不是如此,print 也是语法结构,类似的语法结构,还有多个,比如 list、isset、require 等。不过对于 PHP 7 以下 PHP 版本而言,两者确实有性能上的差别。如下两份代码:…

    

使用wubi安装ubuntukylin 14.04

首先下载wubi.exe

http://mirrors.163.com/ubuntu-releases/14.04/wubi.exe

再到http://www.ubuntukylin.com/downloads/ 下载ubuntukylin 14.04.3

断开网络:

ubuntukylin用wubi安装需要做一些修改,不能直接安装

1、把iso名字里的kylin去掉
2、用ultraISO之类的ISO编辑软件打开iso里的./desk/info这个文件
3、把ubuntu后面的kylin也去掉
4、把iso里的wubi.exe拉出来丢到iso同一个目录下
5、保存对iso的修改并关闭文件

打开一个命令行或者用快捷方式,运行wubi.exe 并且加上参数“--32bit“
用cmd,进入wubi.exe的路径,输入wubi.exe(空格)--32bit
即可.