- 博客(11)
- 资源 (13)
- 收藏
- 关注
转载 PHP中被忽略的性能优化利器:生成器
如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明显。但是,生成器功能的确非常有用。优点直接讲概念估计你听完还是一头雾水,所以我们先来说说优点,也许能勾起你的兴趣。那么生成器有哪些优点,如下:生成器会对PHP应用的性能有非常大的影响PHP代码运行时节省大量的内存比...
2018-06-28 16:26:56 291
转载 跳出业务开发的框框
首先,这个一个比较泛的话题,没有涉及到具体的技术细节,只是作者多年经验的一个简单的总结,很多工程师刚进入工作的时候,都是从一线业务开始,从0开始,都会觉的很兴奋,一切都是新鲜的,但做了一段时间的业务之后,熟悉了业务相关的东西,就会发现每天都在做一重复的事情,然后进入到了一个瓶颈,特别是大公司或者有着悠久历史的业务,可能具体接触到的东西非常有限,很快就进入机械的工作当中,不停的满足需求,感觉没有太大...
2018-06-27 14:22:23 336
转载 swoole项目服务管理脚本 (类似于nginx/php-fpm)
导语看着nginx mysql php-fpm 都自有相关的服务管理脚本,都是服务器端服务,很多swooler都是人肉来进行操作,也有很多朋友在群里问这方面的问题,所以这里分享一下我的经验。目标实现 start|stop|force-quit|restart|reload|reloadtask|status 这些命令思路在进程名上设置服务相关的信息,然后跟据进程名来或取相关进程的id要点假设我现在...
2018-06-27 12:02:16 809
转载 swoole项目开发思维转换 -- 粘包
swoole是用php快速开发高效的tcp/udp服务, 其中tcp是用的更多的一个场景,http虽然是基于tcp协议的,但和直接开发tcp服务还是有明显的区别的。TCP是数据流tcp是数据流,这是一个基本的概念,这里有两个要点:数据没有边界你可以理解为水在一个水管里的流动,我们不知道哪段数据是一个我们需要的完整数据收发有缓冲区比如:当水从一端流到了另一端,我们在收数据的时候,不可能每来一滴水就处...
2018-06-27 11:56:21 521
转载 PV、TPS、QPS是怎么计算出来的?
术语说明:QPS = req/sec = 请求数/秒【QPS计算PV和机器的方式】QPS统计方式 [一般使用 http_load 进行统计]QPS = 总请求数 / ( 进程总数 * 请求时间 )QPS: 单个进程每秒请求服务器的成功次数单台服务器每天PV计算公式1:每天总PV = QPS * 3600 * 6公式2:每天总PV = QPS * 3600 * 8服务器计算服务器数量 = c...
2018-06-21 22:35:56 377
转载 GIT-FORK项目后与原项目进行同步
0x01 与原项目进行同步在github里,每当fork一个项目后,如何保持与原作者的同步?一般可以以下几步。1.首先clone自己,从git获取自己仓库的内容。git clone https://github.com/xxx.git2.添加远程仓库添加远程仓库的别名,获取远程仓库的内容并合并。如果有冲突则需要手动解决冲突。git remote add username https://githu...
2018-06-21 11:21:01 322
转载 关于PHP程序员解决问题的能力
这个话题老生长谈了,在面试中必然考核的能力中,我个人认为解决问题能力是排第一位的,比学习能力优先级更高。解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验。如果解决问题能力不佳是无法通过面试的。这里举个例子,假如我执行了一个PHP的脚本,如php test.php,预期是可以返回一个字符串。但执行后没有任何信息输出,这时候通过什么方法能知道程序错在哪里?这里可以将解决...
2018-06-20 12:04:27 281
转载 Strace 追踪 php 模拟页面执行,打印log
1.strace可以追踪某个程序,如果是一个执行文件,是可以用strace进行追踪[html] view plain copystrace /usr/local/php/bin/php test.php 但是我们的系统,是用浏览器登录访问,也就是说有request,然后我们的系统进行初始化,然后才能执行,不然会报错[html] view plain copystrace -t -f -o ...
2018-06-20 11:56:12 372
转载 五种利用strace查故障的简单方法
我一直惊讶为什么这么少的人认识到可以利用strace来干的事,它一直是我的第一调试工具,因为基本上它存在于我运行过的所有的Linux系统上,它可以用来在很多方面进行故障诊断。什么是strace?strace是一个非常简单的工具,它可以跟踪系统调用的执行。最简单的方式,它可以从头到尾跟踪binary的执行,然后以一行文本输出系统调用的名字,参数和返回值。其实它可以做的更多:可以对特定的系统调用或者几...
2018-06-20 11:20:59 266
转载 strace的使用选项
-c 统计每一系统调用的所执行的时间,次数和出错的次数等.-d 输出strace关于标准错误的调试信息.-f 跟踪由fork调用所产生的子进程.-ff 如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号.-F 尝试跟踪vfork调用.在-f时,vfork不被跟踪.-h 输出简要的帮助信息.-i 输出系统调用的入口指针.-...
2018-06-20 10:28:18 194
转载 Redis为什么使用单进程单线程方式也这么快
Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。Redis快的主要原因是:完全基于内存数据结构简单,对数据操作也简单使用多路 I/O 复用模型第一、二点不细讲,主要围绕第三点采用多路 I/O 复用技术来展开。多路 I/O 复用模型是利用sele...
2018-06-20 10:21:43 128
WEB开发各种CHM手册
2011-09-22
WEB开发各种CHM手册
2011-09-17
POP弹层,下拉导航菜单2种展现模式
2011-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人