MySQL百万级高并发网站实战攻略_MySQL
在一开始接触PHP接触MYSQL的时候就听不少人说:“MySQL就跑跑一天几十万IP的小站还可以,要是几百万IP就不行了”,原话不记得了,大体就是这个意思。一直也没有好的机会去验证这个说法,一是从没有接手过这么大流量的网站,二是平时工作也比较忙,懒得去管这些,反正现在用不着,抱着这个想法把这个问题一直留到了最近,才把这个问题搞明白。
就在前几天公司旗下一网站(由于这是公司的商业内容我就不说是那个网站了)以下简称A站,这A站在年后流量猛增从一天的七八十万猛跑到了好几百万的IP,一天下来接近一千万的PV让整个服务器在高压下超负荷的工作着,时不时的服务就出现宕机。
最首先反映出情况的是数据统计,一天下来一个数据也没有统计上,原来是MySQL停止工作了。
本文就围绕这个问题来讲讲我们公司几个技术人员的解决方案。
1. MySQL服务器集群
由于是小公司在资金和成本上都有所限制,而且在技术上也没有几个技术员接触过,所以这个方法自然就让大伙否决了。
这里说说我个人的理解!做集群不但添加资费的开销,而且在技术上也有很大的挑战,对于我们公司目前的情况是不大现实的。集群无非就是把一台服务器的压力转接到两台或是多台服务器上,我是这么理解的,也许我理解有误,还请大家指教。
2. 分而治之
这个方法和集群差不多,不过是把统计的代码放在不同的服务器上跑,由于公司有不少配置低的服务器跑几万到几十万IP还是没有问题的,我们可以把几百万流量分成十来个几十万的量分而统计。
优点:充分的利用了现在的资源,解决了目前的问题。
缺点:这样的方法不是长久之计,迟早还是会出问题的。而且在统计数据的时候比较麻烦。
3. 统计代码的修改
由于之前采用的是在插入数据之前加以判断,这个IP是否存在,来路等的处理,无形中增加了服务器的压力,所以大伙把统计代码改成来一个就插入数据库,不管三七二十一等以后在处理。
这个方法基本上把当天的数据保留下来了,可是在处理的时候由于数据量的庞大,来来回回还是把服务器跑死了,而且在插入的时候由于当时设计数据结构的时候留有的索引,也大大的消耗了不少的服务器资源。
那么把索引去掉到最后处理的时候又是老慢的,得不偿失。
4. 统计方式的修改
最后这一个方法,效果非常的明显。那是什么方法呢!
这里就主要介绍这个方法:
A、 保留原用的数据结构不变,并把所有的数据按一定的结构存入文件
结构:可以是xml,json,也可以是你自己想的任何有规律的数据排放。
例如:
1 221.2.70.52,http://www.baidu.com,windowxprn
2 221.2.70.52,http://www.baidu.com,windowxprn

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











C 言語を学習するための Web サイト: 1. C Language Chinese Website; 2. Rookie Tutorial; 3. C Language Forum; 4. C Language Empire; 5. Script House; 6. Tianji.com; 7. Red and Black Alliance; 8, 51 自習ネットワーク; 9. リコウ; 10. C プログラミング。詳細な紹介: 1. C 言語中国語 Web サイトは、初心者向けの C 言語学習教材を提供することに特化した Web サイトであり、基本的な文法、ポインタ、配列、関数、構造体およびその他のモジュールを含む豊富なコンテンツが含まれています; 2. ルーキー チュートリアル、プログラミング学習などの総合サイトです。

毎日ほぼ同じ時間に同じ Web サイトに頻繁にアクセスしますか?これにより、日常のタスクを実行する際に、複数のブラウザー タブを開いたまま長時間を費やし、ブラウザーが乱雑になる可能性があります。では、ブラウザを手動で起動せずに開いてみてはどうでしょうか?以下に示すように、これは非常にシンプルで、サードパーティのアプリをダウンロードする必要はありません。 Web サイトを開くためにタスク スケジューラを設定するにはどうすればよいですか?キーを押し、検索ボックスに「タスク スケジューラ」と入力し、[開く] をクリックします。 Windows 右側のサイドバーで、「基本タスクの作成」オプションをクリックします。 「名前」フィールドに、開きたい Web サイトの名前を入力し、「次へ」をクリックします。次に、「トリガー」で「時間頻度」をクリックし、「次へ」をクリックします。イベントを繰り返す時間を選択し、「次へ」をクリックします。有効を選択します

macOS Sonoma および Safari 17 では、Web サイトを「Web アプリ」に変換できます。Web アプリは Mac のドックに常駐し、ブラウザーを開かずに他のアプリと同様にアクセスできます。それがどのように機能するかを学び続けてください。 Apple の Safari ブラウザの新しいオプションのおかげで、頻繁にアクセスするインターネット上の Web サイトを、Mac のドックに常駐していつでもアクセスできるスタンドアロンの「Web アプリ」に変えることができるようになりました。この Web アプリは、他のアプリと同様に Mission Control および Stage Manager で動作し、Launchpad または SpotlightSearch 経由で開くこともできます。あらゆるウェブサイトを次のようなものに変える方法

Python Web サイトのアクセス速度の問題を解決するには、インデックス作成やキャッシュなどのデータベース最適化手法を使用します。Python Web サイトの開発および保守の過程で、Web サイトのアクセス速度が遅いという問題がよく発生します。 Web サイトの応答速度を向上させるために、インデックス作成やキャッシュなどのデータベース最適化方法を使用できます。この記事では、Python Web サイトのアクセス速度の問題を解決するためにこれらの方法を使用する方法を紹介し、参考として対応するコード例を示します。 1. インデックスを使用してデータベース クエリを最適化する インデックスはデータベース内のデータを高速に検索するための構造であり、

デフォルトでは、ほとんどの iPhone ユーザーは iPhone の Safari ブラウザを使用します。彼らは Safari ブラウザでさまざまな種類の Web サイトを閲覧し、アクセスします。一部の iPhone ユーザーは、iPhone で Safari を起動した後、頻繁にアクセスする Web サイトがスプラッシュ スクリーンに表示されるのにうんざりしていると報告しています。スプラッシュ スクリーンの外観を変更するには、スプラッシュ スクリーンを編集する必要があります。頻繁にアクセスする Web サイトを Safari から削除したい場合に、簡単に削除する方法をいくつかの簡単な手順で説明します。 iPhone の Safari から頻繁にアクセスする Web サイトを削除する方法 ステップ 1: まず、iPhone で Safari ブラウザを起動する必要があります。 2番目

場合によっては、保護者による制限、時間管理、コンテンツ フィルタリング、さらにはセキュリティ上の懸念など、さまざまな理由から Microsoft Edge で特定の Web サイトをブロックしたいことがあります。共通の動機は、生産性を高め、集中力を維持することです。気を散らす Web サイトをブロックすることで、仕事や勉強に適した環境を作り出し、気を散らす可能性を最小限に抑えることができます。最後に、コンテンツ フィルタリングは、安全で敬意を持ったオンライン環境を維持するために重要です。露骨なコンテンツ、不快なコンテンツ、不快なコンテンツを含む Web サイトをブロックすることは、適切な基準と価値観を維持することが重要な教育現場や職業現場では特に重要です。この状況に共感できる方は、この記事を読んでください。 Edge でインターネットへのアクセスをブロックする方法は次のとおりです

PHP Web サイト: 1. 世界最大のソーシャル メディア プラットフォームの 1 つである Facebook、2. さまざまな種類の Web サイトを迅速に作成および管理するためのオープンソース コンテンツ管理システムである WordPress、3. 強力な電子商取引プラットフォームである Magento を使用オンライン ストアの作成と管理、4. Joomla、さまざまな種類の Web サイトの構築に使用される人気のオープン ソース コンテンツ管理システム、5. Wikipedia、さまざまなトピックに関する知識と情報を提供する無料のオンライン百科事典、6. Digg、ソーシャル ニュース サイトもっと。

Web サイト上のデッドリンクを確認する方法には、オンライン リンク ツールの使用、Web マスター ツールの使用、robots.txt ファイルの使用、ブラウザー開発者ツールの使用などがあります。詳細な紹介: 1. オンライン リンク ツールを使用します。LinkDeath、LinkDefender、Xenu などのオンライン デッド リンク検出ツールが多数あります。これらのツールは、Web サイト内のデッド リンクを自動的に検出できます。2. ウェブマスター ツールを使用します。ほとんどのウェブマスター ツール。 GoogleのウェブマスターツールやBaiduのウェブマスターツールなどはデッドリンク検出機能などを提供しています。
