mysql中kill掉所有锁表的进程爬虫抓取数据分析

简介:
快过年了最近club服务器 老有刷数据的 封了N 多IP 而且一刷就锁表,老这样不是办法的想办法解决啊
mysql
> show  processlist ;

出来哗啦啦好几屏幕的, 没有一千也有几百条, 查询语句把表锁住了, 赶紧找出第一个Locked的thread_id, 在mysql的shell里面执行.

mysql > kill  thread_id ;

kill掉第一个锁表的进程, 依然没有改善. 既然不改善, 咱们就想办法将所有锁表的进程kill掉吧, 简单的脚本如下.

#!/bin/bash
mysql  - u  root -p mima  - e  " show processlist "  |  grep  - i  " Locked "  >>  locked_log . txt

for  line  in  ` cat locked_log.txt | awk '{print  $1 }' `
do 
echo  " kill  $line ; "  >>  kill_thread_id . sql
done

现在kill_thread_id.sql的内容像这个样子

kill  66402982 ;
kill  66402983 ;
kill  66402986 ;
kill  66402991 ;
.....

好了, 我们在mysql的shell中执行, 就可以把所有锁表的进程杀死了.

mysql > source  kill_thread_id . sql

当然了, 也可以一行搞定
for id in `mysqladmin processlist | grep -i locked | awk '{print $1}'`
do
mysqladmin kill ${id}
done

#########################################################################

至于怎么分析数据抓取的呢,首先你要开启 apache日志轮询。。

[root@c3 ~]# cat /home/houzc/shell/findIP2w.sh
#!/bin/sh
tail -10000 /www/logs/access/66_club_`date +%Y%m%d`_access.log |awk  '{print  $1} '| awk -F. '{print $1"."$2"."$3}'|sort|uniq -c|sort -rn|more
执行完脚本会调取倒数10000行中访问次数3位最高的IP排序出来来。

 
    405 220.181.108
    379 203.208.60
    272 123.150.182
    248 123.150.183
    185 61.135.186
    152 122.224.48
    140 180.149.133
    121 61.155.201
     94 219.232.243
     87 157.55.116
     82 123.125.71
     81 124.115.0
     71 58.211.14
     69 220.181.32
     59 110.75.172
     54 110.75.171
     53 173.192.143
     41 222.81.59
     40 173.83.247
     38 116.228.168
     35 113.113.231
     35 110.75.176
     34 220.181.125
     32 222.86.145
     30 221.11.39

More--

tail -10000 /www/logs/access/66_club_`date +%Y%m%d`_access.log |grep 121.13.162 |more
分析日志就可以了。
如果直接调取4位 
tail -20000 /www/logs/access/66_club_`date +%Y%m%d`_access.log |awk  '{print  $1} '|sort|uniq -cd|sort -rn|more
tail -20000 /www/logs/access/66_club_`date +%Y%m%d`_access.log |grep IP地址 |more
 


查看某一时间段的IP访问总量
# cat access_log|awk '(/\[04\/Aug\/2009/) {print}'|awk -F: '$2<2  {print}'| awk -F. '{print $1"."$2"."$3}' | sort | uniq -c| sort -rn | more
//查看[04/Aug/2009 开头的且 $2(第二列为小时)小于2点的 访问过的IP总量排序

查看8:00到8:15之间的访问总量
# cat /www/logs/access/club_20100120_access.log |awk '{print $0}'|awk -F: '$2~/8$/ && $3<15 {print $0}'| awk -F. '{print $1"."$2"."$3}' | sort | uniq -c|sort -rn | more


查看并发状态
# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
这条语句返回结果如下
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。



本文转自 houzaicunsky 51CTO博客,原文链接:http://blog.51cto.com/hzcsky/475725

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
11月前
|
数据采集 存储 前端开发
动态渲染爬虫:Selenium抓取京东关键字搜索结果
动态渲染爬虫:Selenium抓取京东关键字搜索结果
|
11月前
|
数据采集 存储 前端开发
Java爬虫性能优化:多线程抓取JSP动态数据实践
Java爬虫性能优化:多线程抓取JSP动态数据实践
|
数据采集 Web App开发 JavaScript
基于Selenium的Python爬虫抓取动态App图片
基于Selenium的Python爬虫抓取动态App图片
1123 68
|
11月前
|
数据采集 存储 JSON
地区电影市场分析:用Python爬虫抓取猫眼/灯塔专业版各地区票房
地区电影市场分析:用Python爬虫抓取猫眼/灯塔专业版各地区票房
|
数据采集
Haskell编程中,利用HTTP爬虫实现IP抓取
以上就是利用Haskell编写IP抓取爬虫的详细步骤。希望这篇文章的演示对于理解在Haskell这种函数式编程语言中如何实现网络爬虫有所帮助,而其中的网络访问、标签解析和列表处理等技术在许多其他的问题中都有广泛的应用。
267 26
|
11月前
|
数据采集 存储 XML
Python爬虫XPath实战:电商商品ID的精准抓取策略
Python爬虫XPath实战:电商商品ID的精准抓取策略
|
数据采集 存储 前端开发
Python爬虫自动化:批量抓取网页中的A链接
Python爬虫自动化:批量抓取网页中的A链接
|
数据采集 缓存 监控
如何提高爬虫的抓取效率
提高爬虫的抓取效率是爬虫开发中的一个重要目标。以下是一些可以提高爬虫抓取效率的方法和技巧: 1. 合理设置请求频率 避免过高频率:频繁的请求可能会对目标服务器造成过大压力,甚至导致被封禁。合理设置请求间隔时间,例如每次请求间隔几秒到几十秒。 动态调整频率:根据目标网站的响应时间动态调整请求频率。如果响应时间较长,适当降低请求频率;如果响应时间较短,可以适当提高请求频率。
504 6
|
数据采集 存储 缓存
Python爬虫与代理IP:高效抓取数据的实战指南
在数据驱动的时代,网络爬虫是获取信息的重要工具。本文详解如何用Python结合代理IP抓取数据:从基础概念(爬虫原理与代理作用)到环境搭建(核心库与代理选择),再到实战步骤(单线程、多线程及Scrapy框架应用)。同时探讨反爬策略、数据处理与存储,并强调伦理与法律边界。最后分享性能优化技巧,助您高效抓取公开数据,实现技术与伦理的平衡。
678 4
|
数据采集 存储 NoSQL
如何避免Python爬虫重复抓取相同页面?
如何避免Python爬虫重复抓取相同页面?

推荐镜像

更多