关于LNMP常见问题和性能方面的个人理解
简单整理,自己做备忘的,不为其他作任何参考~
PHP程序
1.开启慢日志,过滤超时时间为1s的方法,针对性优化,可以通过添加缓存方式解决。
2.过滤access日志,统计哪些请求较多较为频繁,是否合理?(研发人员在实现功能的时候只考虑效率应该很少会考虑性能问题,所以通过日志过滤在针对性的了解)
3.php工作模式的选择和进程数量的控制,小内存选择动态模式,可以伸缩性的控制进程的数量来减少内存的浪费,大内存机器可以选择静态指定进程数量,减少因动态创建而对cpu造成损耗,进程数量的指定 一般就
按照内存/30/2来计算即可 因为要留一些内存给其他的应用。
4.开启opcache 进行预编译缓存,这样可以大大节省服务器的负载,减少了重复的加载和解析脚本的时间。
5.当服务器同时跑着很多业务当时候,为了保障核心业务的优先性可以更改进程的nice值,这样cpu会优先处理,也会防止重要业务被oom干掉
6.上传文件等限制,post_max_size 会导致系统中上传文件等限制,同时nginx或者负载均衡也会有相关参数。 建议:当慢日志过多的时候可以优先开启opcache缓存看看是否有缓解,因为当cpu负载过高的时候很可能是由于cpu的原因导致了一些查询 接口信息等返回的较慢,而并不是程序本身就慢。
nginx
gzip缓解参考: https://www.darrenfang.com/2015/01/setting-up-http-cache-and-gzip-with-nginx/
关注一下这几项参数,说一下关于后端web服务timeout参数,需要业务自己来定义,为什么要提及这个参数呢?在一次线上故障中发现大量的连接不释放,在紧急情况下可以改短这个参数来临时解决问题,
但有可能会出现部分连接没有交互完而被干掉,例如我们有上传大文件的需求,短时间没上传完就会被ka掉。。 gzip: 开启后会对静态文件压缩,根据设置对静态文件做处理,会有效对加快访问速度,本人亲测,将一个固定3s访问对页面增加静态文件压缩后到1s worker_processes worker_rlimit_nofile worker_connections keepalive_timeout 60; send_timeout 60; # 开启gzip
gzip on; # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k; # gzip 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
gzip_comp_level 2; # 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; # 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on; # 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";
mysql
1.mysql 可以通过慢日志来确认哪些慢查询。
2.mysql workbench 是官方的工具,可以监控数据库执行情况,也可以帮助定位问题。
关于LNMP常见问题和性能方面的个人理解的更多相关文章
- 性能调优:理解Set Statistics Time输出
在性能调优:理解Set Statistics IO输出我们讨论了Set Statistics IO,还有如何帮助我们进行性能调优.这篇文章会讨论下Set Statistics Time,它会告诉我们执 ...
- lnmp常见问题
常见问题地址:http://lnmp.org/faq.html 如何修改安装LNMP时输入的域名? 修改方法:编辑/usr/local/nginx/conf/nginx.conf 查找安装时输入的域名 ...
- LNMP 常见问题(FAQ)
常见问题(FAQ)常见问题关键词快速索引 我们为什么需要采用LNMP架构?原因不在重复,请看:关于 LNMP一键安装包支持哪些Linux发行版?目前支持CentOS(RadHat).Debian.Ub ...
- 军哥 LNMP 常见问题
安装memcached出错: Install memcached...Notice: memcached-1.4.25.tar.gz not found!!!download now...--2016 ...
- 性能调优:理解Set Statistics IO输出
性能调优是DBA的重要工作之一.很多人会带着各种性能上的问题来问我们.我们需要通过SQL Server知识来处理这些问题.经常被问到的一个问题是:早上这个存储过程运行时间还是可以的,但到了晚上就很慢很 ...
- [大牛翻译系列]Hadoop(9)MapReduce 性能调优:理解性能瓶颈,诊断map性能瓶颈
6.2 诊断性能瓶颈 有的时候作业的执行时间会长得惊人.想靠猜也是很难猜对问题在哪.这一章中将介绍如何界定问题,找到根源.涉及的工具中有的是Hadoop自带的,有的是本书提供的. 系统监控和Hadoo ...
- 以C语言为例的程序性能优化 --《深入理解计算机系统》第五章读书笔记
其实大多数的编译器本身就能提供一些简单的优化,比如gcc就能通过使用 -O2 或者 -O3 的选项来优化程序.但编译器的优化始终也是有限,因为它必须小心翼翼保证优化过程不对程序的功能有改动.故而程序员 ...
- 从性能角度帮你理解HTTP协议
因为做性能测试分析的人来说,HTTP 协议可能是绕不过去的一个槛.在讲 HTTP 之前,我们得先知道一些基本的信息. HTTP(HyperText Transfer Protocol,超文本传输协议) ...
- 【原创】Hadoop机架感知对性能调优的理解
Hadoop作为大数据处理的典型平台,在海量数据处理过程中,其主要限制因素是节点之间的数据传输速率.因为集群的带宽有限,而有限的带宽资源却承担着大量的刚性带宽需求,例如Shuffle阶段的数据传输不可 ...
随机推荐
- Grub4dos boot
Grub4dos 0.4.6a http://grub4dos.chenall.net/ Ghost11.5 bcdedit bcdedit /create /d "Grub4dos&quo ...
- 针对jquery的ajax中的参数理解
1. url 发送请求的地址.为空表示当前页. $.ajax({ type: "post", data: studentInfo, contentType: "appli ...
- mysql中对于时间的处理,时间的滚动,求时间间隔,切换时区等等
mysql中对于时间的处理,时间的滚动,求时间间隔,切换时区等等 在mysql的使用过程中,有时候会出现对时间进行的操作,比如时间向前向后滚动,求2个时间的间隔,或者切换时区的操作 1,时间向前滚动( ...
- SSM+poi导入和导出
最原始数据 导入成功后 下载数据 下载后的数据显示 数据变成16条 点击导出可选择 导了两次 看数据变化 数据库字段在下面地址给出 首先贴出Dao层 List<User> findAll ...
- wso2 ei 6.4.0安装笔记
目的:将最新版(6.4.0)部署在linux服务器,与Api Manager部署在同一环境 环境: Centos 7.3 Jdk 8 Mysql 5.7 问题一: 将H2替换为Mysql5.7数据库时 ...
- thinkphp5访问sql2000数据库
大家都知道php跟mysql是绝配,但是因为有时候工作需要,要求php访问操作sql2000,怎么办呢? 一般来说有两种方式: 1. sqlsrv驱动方式 2. odbc方式 sqlsrv驱动方式,因 ...
- hadoop生态搭建(3节点)-09.flume配置
# http://archive.apache.org/dist/flume/1.8.0/# ===================================================== ...
- elasticsearch按范围聚合
范围聚合适用于对数据按照指定范围进行分类聚合的应用场景,from和to表示范围起始值的半开半闭区间(包含from值不包含to值),key表示别名 如 {:key=>"2h", ...
- Qt udp 主机和虚拟机无法互相广播
描述: 主机和虚拟机可以ping通,port没被占用,虚拟机可以向主机广播,但是主机不能向虚拟机广播 原因: 虚拟机只配置了一个适配器,而主机有多个适配器,当虚拟机广播时,只能使用和主机连接的适配器, ...
- golang使用rabbitMQ入门代码
package main import ( "github.com/streadway/amqp" "log" "time" ) func ...