协程 上下文 多数据库连接

swoole

协程 上下文 多数据库连接
常驻内存 避免泄露
端口抢占

异步task 开启协程
task_enable_coroutine => true
task 内用go 开协程
结束用$task->finish

减少全局变量的使用
养成释放内存的习惯 ,unset
max_request 每个worker做多任务次数,超过重启
避免内存泄露.


epoll:Epoll方式采用了红黑树的数据结构模式,同时拥有就绪列表rdlist,当套接字中存在可读或可写的事件时,该事件将被直接添加到就绪列表当中,从而使系统省去了轮询所有套接字属性的过程,提高了系统的执行效率。

xhprof:重新封装了zend的原生方法
incl 包含文件所花时间
excl 执行所花时间

opcache,apc,xcache,eAccelerator


Redis watch
内核态和用户态
本地缓存 apc yac (具有超时)
yac有限个Key,双散列法来解决Hash冲突,无锁的、共享内存,没有解决多进程竞争写的问题,二是读完后进行crc校验,无效则丢弃。内存不够,从头覆盖;key slot不够,从目地Key Slots开始, 根据Hash路径, 选取5个Keys slot, 根据LRU, 踢出一个。因此可以减少CPU的消耗,而Memcache压力测试时CPU直接飙升到 ~100%
Q:yac 同步,占用空间
moa 并行

PDO mysql长连接
$conn = new PDO($dsn, DB_USER, DB_PASSWORD,
    array(PDO::ATTR_PERSISTENT => true)
);
nginx+fpm其实是保持了 php-fpm 子进程与mysql的长连接
开启了apache mpm功能之后,apache会默认维持一个进程池
mysql使用事务的连接中最好不要用长连接,因为如果使用了长连接,而因为某些原因在事务结束前程序结束了,那么这个事务锁住的资源是释放不掉的,除非重启web server或 MySQL
mysql连接数不是越大越好,与系统配置有关。

redis pconnect 绑定的是php-fpm,close 只影响本次请求不再可读

类中静态变量和方法无需实例化即可访问
this是指向当前对象实例的指针,它不指向任何其它对象或类;self是指向类本身,也就是说self不指向任何已经实例化的对象,self一般用来指向类中的静态变量。

接口开启压缩 zlib,结合accept-encoding来判断

tcp四层         数据链路层->网络层->传输层->        应用层
osi七层 物理层->数据链路层->网络层(IP)-> 传输层(TCP/UDP) ->会话层->表示层->应用层
https 加密传输,身份验证,防篡改;握手时会消耗性能
对称加密 DES,AES
非对称RSA

get 最长1024
post 产生两次请求,第一次100,接着发data,请求头有Expect: 100-continue
DNS解析:浏览器缓存->sys缓存->host->(路由器)运营商->根域名->.com顶级域名->xxx.com->www.xxx.com->ip
HEAD 只返回头

状态码:
1xx 信息性状态码
2xx 一般指成功
301 永久重定向,浏览器会缓存
302 临时重定向,类似redirect
304 Not modified ,一般见于静态资源,高速浏览器无需请求,使用本地
400 请求格式错误
401 未授权认证
403 无权限
404 文件/接口不存在
405 Method Not allowed
499 client发送请求后超时无回应
500 脚本执行出错、访问大,不能打开文件,文件权限
502 fpm已经执行,但出错。内存超限,fpm进程数不够,fpm脚本时间执行不够
503 过载,临时错误.upstream后面有机器挂掉
504 FastCGI 超时时间,nginx配置

http1.0 缺陷:缓存处理 阻塞,长连接Connection: keep-aliv
http1.1 google SPDY 度偶复用
http2
传输采用二进制
请求端多路复用
报头压缩
服务端可以主动推送

TCP 延迟确认机制,ack可以合并,多个包不一定顺序到达,只回复一次,包大小1460

trace命令
c编译过程 .c->.i(-E 预处理,语法检查等)->.s(编译成汇编)->.o(汇编)->(ld -o合并,链接)可执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值