此苹果非彼苹果
2015-05-29LA/NMP

比较全面的MySQL优化参考

本文整理了一些MySQL的通用优化方法,做个简单的总结分享,旨在帮助那些没有专职MySQL DBA的企业做好基本的优化工作,至于具体的SQL优化,大部分通过加适当的索引即可达到效果,更复杂的就需要具体分析了。

1、硬件层相关优化
1.1、CPU相关
在服务器的BIOS设置中,可调整下面的几个配置,目的是发挥CPU最大性能,或者避免经典的NUMA问题:
1、选择Performance Per Watt Optimized(DAPC)模式,发挥CPU最大性能,跑DB这种通常需要高运算量的服务就不要考虑节电了;
2、关闭C1E和C States等选项,目的也是为了提升CPU效率;
3、Memory Frequency(内存频率)选择Maximum Performance(最佳性能);
4、内存设置菜单中,启用Node Interleaving,避免NUMA问题; 继续阅读 »

2015-03-18LA/NMP

Linux下让进程在后台可靠运行的几种方法

我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。 继续阅读 »

wnmp绿色便携版2.0发布,集成redis/memcache,免费下载

这两天花了点时间重新配置了一个wnmp便携版的环境,所有软件集成的都是64位版本。各软件版本号如下:nginx 1.7.9 / PHP 5.6.5-ts-VC11-x64 / mysql-5.6.22-x64 root pw:空 / phpmyadmin 4.3.7 / Memcached 1.4.13 / redis 2.8.17 / PHP扩展:memcache 3.0.8 /redis 2.2.5 / xdebug 2.2.7 / oauth 1.2.3 / sphinx 1.3.2

php.ini中opcache扩展必须填绝对路径才会生效,该文件中我用的F盘,如与你放的目录不符,请自行修改。

下载:

百度网盘 http://pan.baidu.com/s/1eQeVzYq

MD5: bc2d4c02f08018e722f42a35826750e8
SHA-1: 7b0090b11f7a2af08d5ae2317d9412910439e415

相关文章:wnmp绿色便携版1.1发布,集成redis,免费下载啦

2014-10-20LA/NMP

开启PHP-FPM的slow log日志来做性能调优或问题分析

启用 php-fpm 的 slow log 日志,查看执行时间过长的php文件,既可做程序调优,也可作为502等各种问题的分析方法

具体操作方法也简单,就修改一个文件,执行命令:

# vi /usr/local/php/etc/php-fpm.conf     //文件位置请根据自己的安装位置进行调整

PHP 5.3.3 之前版本设置如下:

The timeout (in seconds) for serving a single request after which the worker process will be terminated
Should be used when ‘max_execution_time’ ini option does not stop script execution for some reason
‘0s’ means ‘off’
<value name=”request_terminate_timeout”>10s</value>
The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file
‘0s’ means ‘off’
<value name=”request_slowlog_timeout”>1s</value>
The log file for slow requests
<value name=”slowlog”>logs/slow.log</value>

PHP 5.3.3 之后版本设置如下:

; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the ‘slowlog’ file. A value of ‘0s’ means ‘off’.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
request_slowlog_timeout = 1s

; The log file for slow requests
; Default Value: /usr/local/php/log/php-fpm.log.slow
slowlog = /usr/local/php/log/php-fpm.log.slow

; The timeout for serving a single request after which the worker process will
; be killed. This option should be used when the ‘max_execution_time’ ini option
; does not stop script execution for some reason. A value of ‘0’ means ‘off’.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
request_terminate_timeout = 10s

注:request_terminate_timeout 将执行时间太长的进程直接终止

request_slowlog_timeout 将执行过慢的文件写入日志

以后即可根据慢执行日志 /usr/local/php/logs/slow.log 来优化程序文件了!

2014-09-28LA/NMP

mysql配置linux/windows慢查询日志

1,配置开启

Linux:

mysql配置文件my.cnf中增加
注意:一定要在[mysqld]下的下方加入, 如果是在[mysqld_safe]下面加入配置语句是不会生效的

log-slow-queries=/var/lib/mysql/slowquery.log (指定日志文件存放位置,目录位置一定要有写权限,可以为空,系统会给一个缺省的文件host_name-slow.log)
long_query_time=2 (记录超过的时间,默认为10s)
log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启)
log-long-format (如果设置了,所有没有使用索引的查询也将被记录)

注意:Linux下需要检查/var/log/mysql/slowquery.log的用户和组是否为mysql,权限是否可写,并且查看slowquery.log的文件大小是否有改变,这样才说明慢查询是开启成功了的,并且有记录到日志文件里 继续阅读 »

2014-07-10LA/NMP

nginx禁止访问.git目录的规则设置

现在git很流行,大家也都开始使用它来管理网站源码,但是.git数据目录在网站的源码根目录也会有一份,nginx通常配置的时候不会对隐藏目录进行特别处理,这样你的源文件就暴露在大庭广众之下了。为了安全,我们需要在nginx配置中对此特别处理一下,处理方法很简单。如下: 继续阅读 »

2014-07-10LA/NMP

nginx下gzip配置指南

Nginx自带的有gzip模块 http://wiki.nginx.org/NginxChsHttpGzipModule ,这个模块支持在线实时压缩输出数据流。经过良好的配置优化,可以大幅的提升网站的输出效率。

__使用范例__ 继续阅读 »

2011-11-20LA/NMP

CentOS下Git命令行自动补全

在《Git权威指南》一书中看到Git可以配置命令自动补齐功能,真不错,不过按照原书的操作说明,查看了一下,CentOS的etc目录下无bash_completion文件,故没有按照他写的方法操作,而是直接把git提供的bash脚本拷贝到用户的目录下就可以了,具体操作方法:

$ cd git-1.7.7.4
$ cp contrib/completion/git-completion.bash ~/.git-completion.bash
$ vi ~/.bashrc

最后一行加入
source ~/.git-completion.bash

关闭SSH终端,再重新登入,检测一下,Git输入的时候,按tab键,Git命令是不是能自动补全了?

另外Debian/Ubuntu里有个包就叫git-completion,这个包安装完成后会自动把这个补全脚本放到/etc/bash_completion.d/下,由bash-compleletion载入执行。
就是前面那本书中提到的方式

Nginx SSI页面乱码

页面中遇到乱码的情况太多了,可是今天遇到的这个真是这么多年来第一次遇到,很稀奇。

情况是这样的,本来一个合作页面用SSI在一个静态页中包含进了一个频道的首页,这个被包含页面是php的动态页。以前一直正常的,可是今天突然合作方说此页出现乱码了,我试验了一下,还真是…这是怎么个情况呢?接下来就是各种能想到的尝试了。想想最近也没对这个页面做过改动呀,别的页面也没怎么改动过。页面编码全部查看过了,都正常,甚至被包含进来的PHP页单独打开也是正常的。难道就这么和合作方说么?看我们的频道页面是正常的,现在还查不清被你们框进去的合作页面为什么会变成乱码。。这怎么能行的通呢,况且这个不大不小的问题搁在脑子里不解决,找不到原因,也会憋闷呢。尝试了一个多小时了。最终终于找到蹊跷了,因为我普通测试的php页写汉字被include都没有问题,只有include网站正式页面的时候都会乱码。

最终原因,恐怕是你永远也想不到的,是因为页面开启了gzip,被include进来的页面被压缩过了,这样它就解析不了了。。。看来gzip解压还是浏览器干的活呀。

2011-10-11LA/NMP

CentOS下redis自启动脚本

声明:此脚本来自网络,经过简单修改,已测,可用。

用这个脚本管理之前,需要先配置下面的内核参数,否则Redis脚本在重启或停止redis时,将会报错,并且不能自动在停止服务前同步数据到磁盘上:

# vi /etc/sysctl.conf

vm.overcommit_memory = 1

然后应用生效:
# sysctl -p

然后增加服务并开机自启动:

# chmod 755 /etc/init.d/redis
# chkconfig –add redis
# chkconfig –level 345 redis on
# chkconfig –list redis

脚本下载:http://dl.dbank.com/c0yidab10a

注意:请将脚本中redis的启动文件、配置文件和pid文件存放位置按你配置的位置做相应修改,文件保存的时候注意是unix下可运行的模式,否则在linux下运行的时候会提示错误,/bin/bash^M: bad interpreter: No such file or directory

返回顶部