zoukankan      html  css  js  c++  java
  • 宝塔linux面板, 服务器日志分析与流量统计这款插件的mysql版优化。

     在花1块钱,购买了那个《服务器日志分析与流量统计》这个插件, 用来分析日志和流量, 当www.wxtv.net流量巨大, 短短几天就产生了8百万条网站日志,  使用的是mysql存储日志的方式,   该插件的作者几乎没有优化过mysql存储方式(我也不知道sqlite方式有没有优化),  大几百万的日志, 查询几乎打不开, 还把整个mysql拖死。 打开mysql的慢日志查询, 发现全是统计的语句超时了。 

    慢日志记录:

    SET timestamp=1590377705;
    select website,ip,CAST(time AS CHAR) AS time,httpstatus,size,httpmothed,pageurl,shebieinfo from weblogs where website='www.wxtv.net' and time>='2020-05-2100:00:01' and time<='2020-05-2123:59:59' and shebieinfo like '%baidus%' order by time desc limit 0,100;
    # Time: 200525 11:35:10
    # User@Host: wlog[wlog] ******  Id: 1230472
    # Query_time: 4.893739  Lock_time: 0.000176 Rows_sent: 1  Rows_examined: 2227923
    SET timestamp=1590377710;
    select count(ip) from weblogs where website='www.wxtv.net' and time>='2020-05-2100:00:01' and time<='2020-05-2123:59:59' and shebieinfo like '%baidus%' order by time desc;
    

      

    解决办法:

    增加weblogs表的time字段的索引。 操作步骤如下:

    1. 点击左边菜单“数据库”。

    2. 选择当时日志配置的mysql数据库, 点击管理,打开phpMyAdmin。 

    3.  在phpMyAdmin中, 选择日志的数据库。  点击结构。 

    4. 点击time字段操作列中的索引, 给time字段新建索引。  

    建好索引后, 再打开《服务器日志分析与流量统计》这个插件, 查询速度变成了秒级。 

    PS: 该款插件只卖1块钱, 所谓1分钱一分货, 作者在mysql方式上, 几乎都没有测试。  买过来, 可以打开它的源码, 修改代码, 在服务器上进行优化。 

  • 相关阅读:
    std 迭代器的几种用法
    Cocos2dx3.1+xcode +lua配置
    php获取文件创建时间、修改时间
    如何创建一个基于jquery的编辑器
    封装ajax,简单的模仿jquery提交
    如何实现SQL事务的提交,又不对外进行污染
    .net mvc结合微软提供的FormsAuthenticationTicket登陆
    Http GET、Post方式的请求总结
    post 报文请求接口方法
    zip格式压缩、解压缩(C#)
  • 原文地址:https://www.cnblogs.com/jackrebel/p/12956554.html
Copyright © 2011-2022 走看看