Sunday, March 15 2020

捡到一次PHP性能提升的机会

PHP的程序并发稍微高一点就慢的不行,sys 消耗出奇的高,除了太慢被切换,平时 strace 总能发现php进程疯狂的stat文件,之前查的不是性能问题,就没有深究。 如果正在使用 open_basedir ,那么好消息,一次性能提升的机会来了;最近考虑升级到7.4,性能可能会好点,结果在更新配置文件的时候突然发现 open_basedir 有一行提示:Note: disables the realpath cache, 天!难怪stat这么多,搜索一通,找到 Bug #52312 ,没想到的是,这个禁用从5.2时代就开始了,但是这个禁用的提示到7.2才写出来,坑人! 禁用的原因是安全问题  […]

Continue reading

Thursday, May 2 2013

一例php进程的SIGBUS故障

某个子站是php写的,访问的时候nginx时不时会冒出现502错误,高峰时更频繁,检查php-fpm的日志发现大量的 child exited on signal 7 (SIGBUS),并且和accesslog里的502时间完全吻合,排除了php进程过载的可能,然后又排除了apc的嫌疑。 既然php进程是收到信号后死亡的,那么尝试抓些coredump来分析吧: 先设置一下coredump的保存路径,注意要空间够大的地方,因为coredump可能会较多而且很大(比如开了apc设置了1G,那就会有1G): #echo "/tmp/core.%e.%p.%h.%t" >  […]

Continue reading

Sunday, December 12 2010

最近碰到的一些问题

硬盘 西数新的2T硬盘(如:WD20EARS)采用了4K扇区,分区的时候要在1M处对齐,不然莫名其妙的高IO就来了。 SAS硬盘热插拔是没问题的,不过有时候拿到了做过RAID的盘就不能直接被系统识别,用相关的命令行工具删掉残缺的RAID卷,硬盘就出现了,不需要重启电脑去BIOS里搞。 LIGHTTPD1.4.x的mod_proxy存在事实上的内存泄漏,升级到1.4.28后在本机测试无泄漏,但是相同版本在服务器上的Ubuntu8.04始终会泄漏,以后有时间再追查一下。  […]

Continue reading

Monday, March 10 2008

php xml expat

今日发现php报没有xml的函数,但是USE明明有xml啊,调出emerge的log看了一下,最后有提示,还需要打开expat才行。这又是不看提示信息的恶果。expat - The Expat XML Parser

Sunday, September 2 2007

取得昨天的日期

1.bash $TZ="UTC+16" date 2.php $yesterday=date('ymd',date('U')-3600*24); 3.perl perl -e 'print scalar localtime(time-3600*24)' Perl中取得日期格式的几种方法: perl -e 'use POSIX; print strftime("%Y-%m-%d %H:%M:%S", localtime)' perl -e 'use HTTP::Date;print HTTP::Date::time2iso(time);' perl -e  […]

Continue reading

- page 1 of 2