测试tmpfs性能
来源:互联网 发布:cms系统下载 编辑:程序博客网 时间:2024/05/29 12:17
创建一个tmpfs
mount tmpfs /data/app/www/tmpfs_www/ -t tmpfs -o size=50m
讲php文件放到该目录下,然后对比php执行效果,用xhprof获取运行数据
使用tmpfs
关apc
Total Incl. Wall Time (microsec): 34
Total Incl. CPU (microsecs): 26
Total Incl. MemUse (bytes): 2311
Total Incl. PeakMemUse (bytes):2304
开apc
Total Incl. Wall Time (microsec): 26
Total Incl. CPU (microsecs): 16
Total Incl. MemUse (bytes): 786
Total Incl. PeakMemUse (bytes):798
不用tmpfs
关apc
Total Incl. Wall Time (microsec): 33
Total Incl. CPU (microsecs): 26
Total Incl. MemUse (bytes): 2310
Total Incl. PeakMemUse (bytes):2304
开apc
Total Incl. Wall Time (microsec): 22
Total Incl. CPU (microsecs): 16
Total Incl. MemUse (bytes): 786
Total Incl. PeakMemUse (bytes):798
得出结果,在只读环境中,是否启用tmpfs区别不大,应该和linux的内存管理方式有关
分别进行php读取tmpfs和普通目录的文件测试,
循环100w次file_get_contents:
在tmpfs下的文件
用时28s
在普通目录下的文件
用时29s
100w次file_exists:
tmpfs下
19s
普通目录
20s
100w次file_put_contents,几十字节
在tmpfs下的文件
用时41s
在普通目录下的文件
用时415s
100w次error_log写入指定文件,几十字节
在tmpfs下的文件
用时29s
在普通目录下的文件
用时36s
结论,tmpfs在写入数据时由于是内存操作,会非常快速度
发现file_put_contents和error_log在循环调用写入文件的时候,性能差距非常大。。。
看了下两个函数的源码,都是利用 php_stream_write实现文件写入,但file_put_contents的功能更多,源码里有对锁,stream,数据类型的不同处理,可能是这些原因导致性能比error_log慢。
- 测试tmpfs性能
- tmpfs与ext3性能对比测试
- Ramfs与tmpfs的性能测试
- tmpfs
- tmpfs
- tmpfs
- tmpfs
- tmpfs
- Linux中ramdisk,tmpfs,ramfs的介绍与性能
- 性能测试
- 性能测试
- 性能测试
- 性能测试
- 性能测试
- 性能测试
- 性能测试
- 性能测试
- 性能测试
- 冒泡排序,快速排序,插入排序(JS版)
- 使用谷歌浏览器调试网页和脚本
- 云计算学习资料免费下载
- Web页面优化(转)
- JNI,牛刀小试
- 测试tmpfs性能
- 轻松实现域名解析本地化
- Handle Android Out of memory exception (个人总结的如何应对Android内存不足)
- 软件开发随想:“藕断丝连”
- 软件开发随想:“珍惜第一次”
- 经测试用unserialize,serialize处理数据比json_encode,json_decode要快!
- 软件开发随想:“分享”
- 关于automake生成makefile的问题
- 网络中工作组中计算机无法访问或没有选项的解决办法汇总