社区
基础编程
帖子详情
php网站日志怎么记录
naihetian0
2010-06-25 03:50:31
目前我做一个大型的网站,想记录用户浏览的相关信息,然后统计报表
现在是直接记录到数据库,但是担心访问量大的时候对服务器造成压力过大
记录日志方面有什么好办法?
我想单独做一个日志服务器,但是访问量大的时候直接入库会不会锁表啊?
...全文
1823
30
打赏
收藏
php网站日志怎么记录
目前我做一个大型的网站,想记录用户浏览的相关信息,然后统计报表 现在是直接记录到数据库,但是担心访问量大的时候对服务器造成压力过大 记录日志方面有什么好办法? 我想单独做一个日志服务器,但是访问量大的时候直接入库会不会锁表啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
naihetian0
2012-08-31
打赏
举报
回复
[Quote=引用 29 楼 的回复:]
这个实践了,到底哪种方式好啊
[/Quote]
将日志记录到表里,然后定时将表中数据导出,然后清空表
fangxiaojuan2005
2012-08-14
打赏
举报
回复
这个实践了,到底哪种方式好啊
wolfswolfs
2011-03-08
打赏
举报
回复
这种我还没用过?这种内存的缓存队列有什么好处?
跟锁表有什么区别吗?我看了一下这个介绍,感觉跟锁表差不多啊,锁表也是产生队列
http://www.seoshiji.com/
naihetian0
2010-06-29
打赏
举报
回复
[Quote=引用 25 楼 ryb7899 的回复:]
用insert delayed吧
或者对插入日志做一个内存的缓存队列
[/Quote]
这种我还没用过?这种内存的缓存队列有什么好处?
跟锁表有什么区别吗?我看了一下这个介绍,感觉跟锁表差不多啊,锁表也是产生队列
ryb7899
2010-06-29
打赏
举报
回复
用insert delayed吧
或者对插入日志做一个内存的缓存队列
naihetian0
2010-06-29
打赏
举报
回复
[Quote=引用 21 楼 blue44sky 的回复:]
如果对日志的实习性要求不高的话,建议分表吧,每天一第日志表,用sphinx查询.
[/Quote]
目前根据业务需求已经分三张表了
准备日志服务器上记录的三张表,每天执行shell导出数据 然后清空
YHL27
2010-06-29
打赏
举报
回复
学习。。。
standford
2010-06-29
打赏
举报
回复
都有道理。。。。
blue44sky
2010-06-28
打赏
举报
回复
如果对日志的实习性要求不高的话,建议分表吧,每天一第日志表,用sphinx查询.
naihetian0
2010-06-28
打赏
举报
回复
[Quote=引用 17 楼 myhope88 的回复:]
这个没考虑过,帮顶下
[/Quote]
naihetian0
2010-06-28
打赏
举报
回复
[Quote=引用 16 楼 fxs_2008 的回复:]
效率问题不太清楚,我看过mysql的日志,像是一直打开的文件
感觉那个文件一直是处于open状态,不需要每次打开,感觉是一次打开,不断在添加写,如果是这样的话,应比数据库效率好些?
[/Quote]
我目前是这么做的
由于网站访问量还不算大 所以目前还可以
就是担心并发大量访问时,怕数据库挂掉
naihetian0
2010-06-28
打赏
举报
回复
[Quote=引用 15 楼 quzhongxiong 的回复:]
呵呵,不管你用什么来记录这个结果,以我看来,你是最好先做好了,再来考虑这个问题比较合理,刚开发的时候你不可能将各种情况都能预测得到的,到了那一步,自然会有相应的方法来解决,只要你保留相应的扩展接口就行
[/Quote]
目前我做的是在网站服务器的数据库里记录的
会产生慢速SQL,所以要考虑做日志服务器的 呵呵,但是前期实现起来还是要先研究下方案
不能都在生产环境上测试呀 呵呵
myhope88
2010-06-28
打赏
举报
回复
这个没考虑过,帮顶下
fxs_2008
2010-06-28
打赏
举报
回复
效率问题不太清楚,我看过mysql的日志,像是一直打开的文件
感觉那个文件一直是处于open状态,不需要每次打开,感觉是一次打开,不断在添加写,如果是这样的话,应比数据库效率好些?
quzhongxiong
2010-06-28
打赏
举报
回复
呵呵,不管你用什么来记录这个结果,以我看来,你是最好先做好了,再来考虑这个问题比较合理,刚开发的时候你不可能将各种情况都能预测得到的,到了那一步,自然会有相应的方法来解决,只要你保留相应的扩展接口就行
naihetian0
2010-06-28
打赏
举报
回复
[Quote=引用 13 楼 shadowsniper 的回复:]
引用 3 楼 naihetian0 的回复:
引用 1 楼 blue44sky 的回复:
1、数据量大可用先把数据按格式记录到文件里面,然后load数据库中。
2、用insert插入数据怕锁表,加上delayed吧
往文件写数据的时候那个文件也是锁的,大量的写入文件的效率比写入数据库的高吗?
将数据写入文件的速度其实并不是说一定比写入数据库高,而是为了分担数据库的压力而已……
[/Quote]
曾经我都想过把日志数据先写到memcache中来的,然后当value值达到1M时写入数据库
但是这个方法不行啊 哈哈
an9ryfr09
2010-06-25
打赏
举报
回复
[Quote=引用 3 楼 naihetian0 的回复:]
引用 1 楼 blue44sky 的回复:
1、数据量大可用先把数据按格式记录到文件里面,然后load数据库中。
2、用insert插入数据怕锁表,加上delayed吧
往文件写数据的时候那个文件也是锁的,大量的写入文件的效率比写入数据库的高吗?
[/Quote]
将数据写入文件的速度其实并不是说一定比写入数据库高,而是为了分担数据库的压力而已。
磁盘IO的频率过高,对系统同样是很大的压力。我曾经在一个系统中采用大量文件缓存。然后运维天天找我说磁盘IO太高。后来我就将某些读写频率很高的数据放在memcache里了。
blue44sky
2010-06-25
打赏
举报
回复
建议这样做,插入文件的话,你可以把返回的数据放到一个栈(容器)中,当栈(容器)中的数据到一定数量时,写入文件中。
blue44sky
2010-06-25
打赏
举报
回复
[Quote=引用 10 楼 naihetian0 的回复:]
引用 9 楼 amani11 的回复:
你看看分析软件效果
http://www.loganalyzer.net/cn/ 不是说就是这款,你可以找别的,功能总是类似的
如果你用文件保存,等到一定数量再插入数据库,要解决文件锁的问题,访问量大的时候,也是挺麻烦的
倒不如使用延迟插入操作DELAYED
可以详细的帮我介绍下延迟插入这个吗?
[/Quote]
insert delayed 后面的语句一样的
naihetian0
2010-06-25
打赏
举报
回复
[Quote=引用 9 楼 amani11 的回复:]
你看看分析软件效果
http://www.loganalyzer.net/cn/ 不是说就是这款,你可以找别的,功能总是类似的
如果你用文件保存,等到一定数量再插入数据库,要解决文件锁的问题,访问量大的时候,也是挺麻烦的
倒不如使用延迟插入操作DELAYED
[/Quote]
可以详细的帮我介绍下延迟插入这个吗?
加载更多回复(9)
PHP
实战:
PHP
后台权限管理系统(
PHP
原生开发课程)
用原生
PHP
开发后台权限管理系统:菜单管理,权限设置,用户管理等 包含:后台用户登录,登录接口开发 后台1级菜单管理:添加、录入、修改、删除 后台2级菜单管理:添加、录入、修改、删除 后台3级菜单管理:添加、...
php
要怎么
记录
日志
,
php
中
记录
日志
的几种方法
1、使用fwrite()函数写入文件$now=date('y-m-d',time());$filename='log/tongbu_'.$now.'.log';$file=fopen($filename,"a+"); //a+表示文件可读写方式打开fwrite($file,'开始写入'."\n");$time=time();$res="www.geiliyou.com";$result='ok...
php
laravel
日志
报错,Laravel 的错误和
日志
记录
Laravel 的错误和
日志
记录
简介Laravel 默认自带错误和异常处理机制。应用程序触发的所有异常都被 App\Exceptions\Handler 类
记录
下来,然后渲染给用户。 我们将在后续文档中深入介绍此类。Laravel 使用 Monolog 库为各种强大的
日志
处理程序提供支持。Laravel 配置了多种
日志
处理程序,方便你在单个
日志
文件、多个
日志
文件或将错误信息写入系统
日志
之间进行选择...
PHP
记录
用户操作
日志
记录
php
header("Content-type: text/html; charset=utf-8"); error_reporting(0);//关闭所有的错误信息,不会显示,如果清除掉,会将错误的
日志
写入到log中 ini_set('log_errors','on'); //开启外部保存的错误信息 //ini_set('error_log',"D:/error.log");
MySql 的操作
日志
历史
记录
如何查看mysql数据库操作
记录
日志
1、首先确认你
日志
是否启用了mysql>show variables like 'log_bin'。2、如果启用了,即ON,那
日志
文件就在mysql的安装目录的data目录下。3、怎样知道当前的
日志
mysql> show master status。4、看二进制
日志
文件用mysqlbinlog,shell>mysqlbinlog mail-bi...
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章