首页
学习
活动
专区
圈层
工具
发布

如何在 Linux 上用 SQL 语句来查询 Apache 日志

Linux 有一个显著的特点,在正常情况下,你可以通过日志分析系统日志来了解你的系统中发生了什么,或正在发生什么。的确,系统日志是系统管理员在解决系统和应用问题时最需要的第一手资源。...Access Log 记录所有 Apache web server 执行的请求。...在 Linux 上安装 asql asql 由 Perl 编写,而且需求以下两个 Perl 模块:SQLite 的 DBI 驱动以及 GNU readline。...因此你可以使用方向键浏览命令历史,按下 ENTER 来重复执行之前的命令。...asql 上的示例 SQL 查询 下面是几个使用 asql 针对 Apache 日志文件运行 SQL 查询的示例: Example 1:列出在 2014 年 10 月中请求的来源 / 时间以及 HTTP

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Go - 基于 GORM 获取当前请求所执行的 SQL 信息

    前言 为了便于精准排查问题,需要将当前的请求信息与当前执行的 SQL 信息设置对应关系记录下来,记录的 SQL 信息包括: 执行 SQL 的当前时间; 执行 SQL 的文件地址和行号; 执行 SQL 的花费时长...; 执行 SQL 的影响行数; 执行的 SQL 语句; 数据库组件使用的是 GORM。...思路 1、在执行 SQL 前,设置开始执行时间(计算执行时长会用到); 2、在执行 SQL 后,第一,获取当前请求的上下文,为什么获取上下文,因为需要从上下文中获取本次请求信息,第二,获取 SQL 执行前的时间...Plugin 接口的编写非常简单,只需要实现两个方法即可。...三方请求信息 支持设置 debugs 打印调试信息 支持设置 sqls 执行 SQL 信息 可记录 cost_seconds 执行时长 以上代码在 go-gin-api 项目中,地址: github.com

    2.8K20

    走进黑盒:SQL是如何在数据库中执行的?

    对很多开发者来说,数据库就是个黑盒子,你会写 SQL,会用数据库,但不知道盒子里面到底是怎么一回事儿,这样你只能机械地去记住别人告诉你的那些优化规则,却不知道为什么要遵循这些规则,也就谈不上灵活运用。...SQL是如何在执行器中执行的 ? 我们通过一个例子来看一下,执行器是如何来解析执行一条 SQL 的。...数据库收到查询请求后,需要先解析 SQL 语句,把这一串文本解析成便于程序处理的结构化数据: 转换后的结构化数据,就是一棵树,这个树的名字叫抽象语法树(AST,Abstract Syntax Tree...所谓的执行计划,可以简单理解为如何一步一步地执行查询和计算,最终得到执行结果的一个分步骤的计划。...看一下简单优化后的逻辑执行计划: 对比原始的逻辑执行计划,这里我们做了两点简单的优化: 尽早地执行投影,去除不需要的列; 尽早地执行数据过滤,去除不需要的行。

    2K10

    走进黑盒:SQL是如何在数据库中执行的?

    对很多开发者来说,数据库就是个黑盒子,你会写 SQL,会用数据库,但不知道盒子里面到底是怎么一回事儿,这样你只能机械地去记住别人告诉你的那些优化规则,却不知道为什么要遵循这些规则,也就谈不上灵活运用。...SQL是如何在执行器中执行的 ? 我们通过一个例子来看一下,执行器是如何来解析执行一条 SQL 的。...数据库收到查询请求后,需要先解析 SQL 语句,把这一串文本解析成便于程序处理的结构化数据: 转换后的结构化数据,就是一棵树,这个树的名字叫抽象语法树(AST,Abstract Syntax Tree...所谓的执行计划,可以简单理解为如何一步一步地执行查询和计算,最终得到执行结果的一个分步骤的计划。这个逻辑执行计划是这样的: ?...也就是说,尽量在执行计划的最内层减少需要处理的数据量。看一下简单优化后的逻辑执行计划: ?

    2.3K30

    Spark SQL在100TB上的自适应执行实践

    本文首先讨论Spark SQL在大规模数据集上遇到的挑战,然后介绍自适应执行的背景和基本架构,以及自适应执行如何应对Spark SQL这些问题,最后我们将比较自适应执行和现有的社区版本Spark SQL...这正是因为减少了调度的负担和任务启动的时间,以及减少了磁盘IO请求。 原版Spark: ? 自适应执行: ?...在做实验的过程中,我们在自适应执行框架的基础上,对Spark也做了其它的优化改进,来确保所有SQL在100TB数据集上可以成功运行。以下是一些典型的问题。...,得到如下几点结论: 对于秒级的简单查询,自适应版本的性能提升并不明显,这主要是因为它们的瓶颈和主要耗时集中在了IO上面,而这不是自适应执行的优化点。...最后我们在TPC-DS 100TB数据集上验证了自适应执行的优势,相比较原版Spark SQL,103个SQL查询中,90%的查询都得到了明显的性能提升,最大的提升达到3.8倍,并且原先失败的5个查询在自适应执行下也顺利完成

    2.8K60

    一条简单的 SQL 执行超过 1000ms,纳尼?

    SQL 执行,但是耗时超过 1000ms。...通过查看数据库的进程列表,发现是有死锁锁表了,很多进程状态 status 处于 'sending data',最后为锁住的表添加索引,并且 kill 掉阻塞的请求,解除死锁,服务速度恢复正常。...▌使用 Druid 监控 SQL 执行状态 ---- 通过日志,发现有一句 SQL 严重超时,一句简单 SQL,原本是批量插入多条记录,为了定位问题,测试时 Mybatis 只插入一条记录,但即便如此,...在 SQL 监控 Tab 中,可以看到执行 SQL 的具体情况,包括某条 SQL 语句执行的时间(平均、最慢)、SQL 执行次数、SQL 执行出错的次数等。...直接执行 SQL 语句 通过 DEBUG 代码,从 mybatis 中取出映射后的SQL语句,在 MySQL 客户端直接执行 SQL 和 Explain 查看执行计划,速度都很快,排除了 SQL 语句的问题

    64310

    一条简单的 SQL 执行超过1000ms,纳尼?

    大概过程 在测试环境Docker容器中,在跨进程调用服务的时候,A应用通过Dubbo调用B应用的RPC接口,发现B应用接口超时错误,接着通过debug和日志,发现具体耗时的地方在于一句简单SQL执行,但是耗时超过...通过查看数据库的进程列表,发现是有死锁锁表了,很多进程状态status处于'sending data',最后为锁住的表添加索引,并且kill掉阻塞的请求,解除死锁,服务速度恢复正常。...使用Druid监控SQL执行状态 通过日志,发现有一句SQL严重超时,一句简单SQL,原本是批量插入多条记录,为了定位问题,测试时Mybatis只插入一条记录,但即便如此,还是耗时10秒 ?...在SQL监控Tab中,可以看到执行SQL的具体情况,包括某条SQL语句执行的时间(平均、最慢)、SQL执行次数、SQL执行出错的次数等。...直接执行SQL语句 通过DEBUG代码,从mybatis中取出映射后的SQL语句,在MySQL客户款直接执行SQL和Explain查看执行计划,速度都很快,排除了SQL语句的问题。

    84620

    设定时间自动执行一个SQL的shell脚本(Linux)

    cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量 说明 : crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表...时表示第 a, b, c...个小时要执行,其馀类推 使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。...例子 : 每天早上7点执行一次 /bin/ls : 0 7 * * * /bin/ls 在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup : 0...0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha" 20 0-23/2 * * * echo "haha" 注意 : 当程序在你所指定的时间执行后,系统会寄一封信给你...,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之 后加上 /dev/null 2&1 即可 例子2 : 每天早上6点10分 10 6 * * * date 每两个小时 0 */2 *

    1.3K20

    每秒执行6000的简单SQL优化(一)(r10笔记第62天)

    最近看到一个系统的负载比较高,引起了我的注意,查看AWR报告发现,竟然是因为两条很简单的SQL语句导致。 语句有多简单呢,就是下面的两个SQL语句。...为什么这么小数量的表,含有主键,怎么还会导致严重的性能问题呢。 看执行计划第一个语句是全表扫描,里面只有1行记录,全表和索引扫描应该差别很小。 ?...就是这样一个语句,在一个小时的时间里竟然执行了近2000多万次。 ? 这样一条SQL的影响被无限放大,就导致了数据库的负载很高。...如此来看,每秒钟的执行频率极高,1秒钟差不多是6000多次的频率。什么系统有如此之高的业务需求。 和开发的同学交涉,原以为分析已经到位,剩下的就是快刀斩乱麻似的解决问题了。...执行计划没有发生改变。 ? 尝试2: 尝试添加hint,设置cardinality都是一样的结果,没有任何改变。

    693100

    每秒执行6000的简单SQL优化(二) (r10笔记第65天)

    继续前几天的一次性能调优,这次调优难度不小,而且空间很小,看起来简直就是绝处逢生的感觉。下面的两条SQL语句执行频率极高,每秒达到6000次,希望能够优化。...可以参见每秒执行6000的简单SQL优化(一)(r10笔记第62天) 还有一点很多明眼人看出来了,为什么创建了唯一性索引,表license中存在1行记录,但是却无法启用,一个根本原因就是唯一性索引的列没有非空约束...这样一个语句怎么优化呢,一个很明显的处理方式就是在SQL中做检查,尽可能调整逻辑。 但是让人尴尬的是这个应用是闭源的,无法直接修改里面的逻辑。怎么改进,或者说有什么是DBA能想办法缓解的。...> ALTER TABLE TEST_OBJ MODIFY(OBJECT_TYPE VARCHAR2(10)); 然后把数据简单的处理一下,让数据的分布基本打散。...可以看到蓝色的曲线还是略微要低于红色的部分,但是改进的空间在200万的执行频率下效果被缩小了。 改进最大的是应用的调整,幅度可不是简单的几倍几十倍,而是根本性的改变。

    91980

    在hue上部署spark作业

    【文章链接】 https://cloud.tencent.com/developer/article/2466071文章简评价:这是一篇非常有价值的技术文章,特别适合程序员阅读。...在Hue上部署Spark作业通常涉及编写Spark应用程序代码和在Hue的Web界面上提交该作业。以下是一个简单的案例,展示了如何在Hue上部署一个基本的Spark SQL作业。...步骤1:编写Spark SQL作业代码首先,我们需要编写一个Spark SQL作业来处理数据。这里是一个简单的PySpark脚本例子,它读取一个CSV文件,然后执行一些SQL查询。#!...步骤2:在Hue上提交Spark作业在Hue的Web界面上,你可以提交这个脚本作为作业。以下是如何在Hue中提交作业的步骤:打开Hue Web界面,并导航到“Spark”部分。...步骤3:监控作业执行一旦作业提交,你可以在Hue的“Jobs”部分监控作业的执行情况。Hue会显示作业的状态、进度和任何错误信息。

    55610

    用NW.js构建跨平台桌面应用(4)-数据持久化

    及其相关标准中提供的WebSQL、WebStorage、IndexedDB等方案,甚至直接将简单的数据保存到本地文件中 [I]....Web storage Web storage 是浏览器中最简单的一种数据存储技术,可以暂时或永久的保存 key-value 数据;适合于简单且非密集的数据事务场景 2.1 基本规则 每个domain最多...Web SQL 数据库 Web SQL 是一个基于 SQLite 的数据库规范,使得在浏览器端使用 SQL 语言(如select, insert, update, delete, joins, inner...selects等)变得简便易行 --- 这也是其最大的优点 Web SQL Database API 实际上未包含在 HTML 5 规范之中,它是一个独立的规范 其 API 有同步的,也有异步的,...): 管理并顺序执行若干条SQL语句的容器,可以嵌套 错误回调:每条 SQL statement 及其所处的 transaction 都有各自的错误回调,用于精细或集约的捕获错误并引发回滚 回滚(roll

    2.2K20
    领券