首页 » 编程语言 ( 第 3 页 )

在2016的phpcon大会上的分享PPT下载

 

这是在2016年,在phpcon大会上分享的PPT。感谢 锅巴和板子,组织这么好的活动。虽然,大会第一天下起了雨,但是人还是爆满。居然还有来自日本的同学。倍感意外。 以下是PPT几张关键的PPT截图和PPT下载地址: PHP问题排查实践 解决问题的思路 gearman导致cpu100问题解决方法 案例详细分析:《php进程导致服务器cpu ...

crond中使用flock命令的坑

 

现象 需要定期去执行一个PHP脚本,首先想到的是通过crond命令来实现这个功能。但是,在crond的执行过程中发现一个诡异的事情。在crond中的配置如下。 */1 * * * * root /usr/bin/flock -xn /tmp/test.lock -c '/usr/bin/php /home/hailong/test.php > /tmp/test.tt 2>&1' 脚本只会在第一次成功执行,之后就 ...

淘宝社区双十一性能优化实践

 

这个是我在《2016全球第二届PHP开发者大会》上的分享。分享的主题是《淘宝社区双十一性能优化实践》。主要讲解了如何做性能优化,如何做分库分表。以下是PPT重要内容的几个截图。如有疑问,欢迎沟通交流。 大纲 性能优化思路 如何做分库分表 memcache数据同步 降级系统架构 降级系统的详细介绍可以查看 《使 ...

JVM内存结构

 

前言 在Java语言开发过程中,out of memory错误是很常见的一种错误。对于JVM的内存结构有更深入的了解,更更好的帮我们排查此类问题,有效的避免此类问题发生。在JAVA 8中内存结构有进行了改变,Metaspace替代了PermGen。 内存结构简介 JVM的内存结构如下图所示:(图片来源于网络) JVM的内存结构大概分为: 堆(hea ...

PHP扩展迁移为兼容PHP7记录

 

PHP7扩展编写的时候,提供的一些内核方法和之前的PHP之前的版本并不能完全兼容。有不少方法参数做了调整。下面是在迁移过程中遇到的一些问题。记录下来,避免大家再踩坑。 PHP7扩展开发之hello word 白话PHP7扩展开发之创建对象 add_assoc_stringl 方法参数改为四个。 add_assoc_stringl(parray, key, value, value_le ...

PHP7扩展开发之hello word

 

本文是以PHP7作为基础,讲解如何从零开始创建一个PHP扩展。本文主要讲解创建一个扩展的基本步骤都有哪些。示例中,我们将实现如下功能: <?php echo say(); ?> 输出内容: $ php ./test.php $ hello word 在扩展中实现一个say方法,调用say方法后,输出 hello word。 第一步:生成代码 PHP为我们提供了生成基 ...

php性能监控与优化

 

在很早很早之前,在21cto社区线下分享大会上,曾经分享了一个主题《php性能监控与优化》。当时没放出ppt,今天发现有人在微博找ppt。放出下载地址。 点此下载。

PHP7扩展开发之类的创建

 

本篇文章主要将如何在扩展中创建一个对象。创建的对象的过程,其实和一个小孩出生,成长的过程有些类似。 第一步,办准生证 生孩子第一步,先办准生证。声明我要生孩子了。对象创建的时候,如何办准生证呢?只要定义一个zend_class_entry变量即可。代码如下: zend_class_entry ce; zend_class_entry 是啥?可以认为 ...

PHP7内核基础知识之变量类型

 

前言 下面我们大概了解下PHP7的变量类型都有哪些,是如何存储变量的。 zval结构定义 PHP7中是使用zval结构存储变量信息的。zval结构的定义在./Zend/zend_types.h文件中定义。 struct _zval_struct { zend_value value; /* value */ union { struct { ZEND_ENDIAN_LOHI_4( zend_uchar type, / ...

ReactPHP,PHP版的Node.js

 

前言 前段时间csdn找我约稿。一直忙于项目,也没来及写。十一的时候,学习了下ReactPHP。把了解的一些东西整理成文。难免有疏漏,如发现请指正。原文已经发布到csdn。网址 http://www.csdn.net/article/2015-10-12/2825887 从名字说起 虽然ReactPHP项目已经发展了有4年之久,但是对于其称呼显得有点混乱。在开源中国为 ...

向facebook学习,通过协程实现mysql查询的异步化

 

前言 最近学习了赵海平的演讲,了解到facebook的mysql查询可以进行异步化,从而提高性能。由于facebook实现的比较早,他们不得不对php进行hack才得以实现。现在的php5.5,已经无需hack就可以实现了。 对于一个web网站的性能来说,瓶颈多半是来自于数据库。一般数据库查询会在某个请求的整体耗时中占很大比例。如果能提 ...

php中mysql数据库异步查询实现

 

问题 通常一个web应用的性能瓶颈在数据库。因为,通常情况下php中mysql查询是串行的。也就是说,如果指定两条sql语句时,第二条sql语句会等到第一条sql语句执行完毕再去执行。这个时候,如果执行2条sql语句,每条执行时间为50ms,全部执行完毕可能需要100ms。既然,主要原因是sql的串行执行导致。那我们是不是可以改变 ...