PHP-FPM 调优: 用 ‘pm static’ 达到最大性能

 

让我们来迅速了解一下怎样设置 PHP-FPM,以便达到高吞吐,低延迟以及稳定的使用 CPU 和内存的完美状态。在默认的情况下,大多数设置都将 PHP-FPM PM(进程管理器)设置为 dynamic,或者当你有可用内存的问题时常建议你使用ondemand。接下来,让我们根据 php.net 的官方文档来比较一下这两个管理选项和我最常用的设置 —— static之间的区别:

  • pm = dynamic:子进程的数量是根据以下指令来动态生成的:pm.max_childrenpm.start_serverspm.min_spare_serverspm.max_spare_servers.
  • pm = ondemand:在服务启动的时候根据 pm.start_servers 指令生成进程,而非动态生成。
  • pm = static:子进程的数量是由 pm.max_children 指令来确定的。

查看

            

全文搜索引擎 Elasticsearch 入门教程

全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。

它可以快速地储存、搜索和分析海量数据。维基百科、Stack OverflowGithub 都采用它。

Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。

本文从零开始,讲解如何使用 Elastic 搭建自己的全文搜索引擎。每一步都有详细的说明,大家跟着做就能学会。

一、安装

Elastic 需要 Java 8 环境。如果你的机器还没安装 Java,可以参考这篇文章,注意要保证环境变量JAVA_HOME正确设置。

安装完 Java,就可以跟着官方文档安装

Linux内核参数调整方法

Linux内核参数调整方法

ulimit设置

ulimit -n 要调整为100000甚至更大。 命令行下执行 ulimit -n 100000即可修改。如果不能修改,需要设置 /etc/security/limits.conf,加入

* soft nofile 262140
* hard nofile 262140
root soft nofile 262140
root hard nofile 262140
* soft core unlimited
* hard core unlimited
root soft core unlimited
root hard 
        

PHP API中,MYSQL与MYSQLI的持久连接区别

很久很久以前,我也是因为工作上的bug,研究了php mysql client的连接驱动mysqlnd 与libmysql之间的区别php与mysql通讯那点事,这次又遇到一件跟他们有联系的事情,mysqli与mysql持久链接的区别。写出这篇文章,用了好一个多月,其一是我太懒了,其二是工作也比较忙。最近才能腾出时间,来做这些事情。每次做总结,都要认真阅读源码,理解含义,测试验证,来确认这些细节。而每一个步骤都需要花费很长的时间,而且,还不能被打断。一旦被打断了,都需要很长时间去温习上下文。也故意强迫自己写这篇总结,改改自己的惰性。…

    

如何防止运营商内容劫持(http劫持)

如何防止运营商内容劫持(http劫持)

目前来看,根据我的经验,运营商内容劫持是通过白名单策略进行的,主要是针对高流量的访问地址,如微信API,jiathis分享代码,微博网页等进行.

主要表现为js脚本注入,和 html内容 注入.自己的JS代码.

因此,就预防来说,比如,页面引入了,第三方这类JS代码的,要改为HTTPS方式如

<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

改为

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

 

二是自己站的页面也可能被注入广告代码,一般是在 <body>标签后面,或</body>标签前面注入,所以,我们可以在页面最开始,和最后,分别放入以下代码

 

<!--!DOCTYPE html>
<html>
<head>	 
</head>
<body>	 
</body>
</html-->

以达到迷惑敌人的目的,这段代码,就是引诱作用, 使运营商注入了也不会显示出来,因为注释掉了.

 

三是使用CSP 全称为 Content Security Policy,即内容安全策略。主要以白名单的形式配置可信任的内容来源,在网页中,能够使白名单中的内容正常执行(包含 JS,CSS,Image 等等),而非白名单的内容无法正常执行,从而减少跨站脚本攻击(XSS),当然,也能够减少运营商劫持的内容注入攻击。

四是全站使用HTTPS啦,这是最好的方法,但是也要注意,引入第三方网站的JS时,不能用HTTP方法,要改为HTTPS方式,如果第3方网站 不支持HTTPS连接,那就可以把第三方网站的JS保存下来,放到自己网站上,进行HTTPS连接.

 …

PaddlePaddle系列之三行代码从入门到精通

本文介绍 PaddlePaddle系列之三行代码从入门到精通

PaddlePaddle系列之三行代码从入门到精通

前言

这将是PaddlePaddle系列教程的开篇,属于非官方教程。既然是非官方,自然会从一个使用者的角度出发,来教大家怎么用,会有哪些坑,以及如何上手并用到实际项目中去。…

流媒体:ffmpeg生成HLS的m3u8与ts片段

流媒体:ffmpeg生成HLS的m3u8与ts片段

 

转换方式一

1.直接把媒体文件转为ts

ffmpeg -i cat.mp4 -c copy -bsf h264_mp4toannexb cat.ts

2.使用segment参数进行切片

ffmpeg -i cat.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 2 cat_output%03d.ts

 

 

转换方式二

1.ffmpeg切片命令,以H264和AAC的形式对视频进行输出

ffmpeg -i