網站為什麼打不開?訪問緩慢?

來源:互聯網
上載者:User

標籤:流量攻擊網站無法載入頁面

2016年11月21日 上午

大周一的早上被手機鬧鈴給振醒,我這個人有個習慣每次起床必定看一眼手機,不管是早上還是半夜只要醒來總要看看手機郵箱是否收到警示郵件。(我只是個苦逼的小營運~)


起床拉開窗帘看著窗外06年的第一場雪,美好的一天開始了~~


剛到公司屁股剛坐熱,聽到有人說咱們網站咋回事?訪問的時候咋看不到頁面呐?!


好吧~ 我知道,來活了!開幹!


問題描述:在瀏覽器中輸入公司網址發覺串連了半天還沒訪問到頁面,隨著時間的加長網站只是載入了一些靜態資源。清除緩衝在此訪問,問題依舊。


問題分析:因為之前出現過流量攻擊的情況,我當時立刻開啟監控查看網站入口流量情況發覺果然流量爆滿並且超過了很多。根據日誌發覺單個ip訪問同一個頁面1s中出現超過20次,懷疑為流量攻擊。我試著把佔用流量最多的兩個外網地址給 iptables -I INPUT -s *.*.*.* -j DROP。流量很快下來了很多。

但是網站訪問依然慢。這特麼是為啥呢?


這時想到也許和mysql有關,畢竟動態網站是要讀取mysql的如果mysql串連數過多可是會拖慢網站的!


首先查看mysql進程

#mysqladmin processlist -uroot -p |wc -l

5591

之後進入mysql查看最大串連數是多少?

mysql> show variables like ‘%max_connections%‘;

5000

丫丫個呸的~ 竟然是5000!

原來問題出在這裡!!!


之後查看當前串連數

mysql> show status like ‘Threads%‘;


發覺果然超過了~


解決辦法:show processlist 查看mysql進程,發覺有很多sleep進程!殺掉!!

(為了先解決問題,可以先重啟一下mysql之後修改最大串連數)

附帶批量kill sleep mysql進程指令碼

cat mysql_sleep.sh


#!/bin/sh

user=root
passwd=12345678
host=192.168.1.200

while :
do
  n=`mysqladmin processlist -u$user -p$passwd -h$host | grep -i sleep | wc -l`
  date=`date +%Y%m%d[%H:%M:%S]`
  echo $n

  if [ "$n" -gt 20 ]
  then
  for i in `mysqladmin processlist -u$user -p$passwd -h$host | grep -i sleep | awk ‘{print $2}‘`
  do
     mysqladmin -u$user -p$passwd -h$host kill $i
  done
  echo "sleep is too many I killed it " >> /tmp/sleep.log
  echo "$date : $n" >> /tmp/sleep.log
  fi               
  sleep 1
done





本文出自 “蝸牛的嘲諷” 部落格,轉載請與作者聯絡!

網站為什麼打不開?訪問緩慢?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.