PHP / Symfony上の高負荷のサイトとアプリケーション

特定の技術に取り組んでいる各開発者は、常に新しい情報を読み、知識を深めます。 そして、私たちも例外ではありません。 PHPはかなり古く人気のある言語で、多くの異なるフレームワークがあります。 最も人気があり深刻なものの1つはSymfonyです。 RuNetにはこのfreymorkに関する情報はあまりありません。英語でさまざまな記事、レビュー、インタビューをよく読んで、最新の開発状況を把握しています。 この記事は、PHP / Symfonyで作成された大規模サイトの概要とRunetに固有の情報、およびそれらと組み合わせて使用​​されるいくつかの技術の説明です。 そして、はい、PHPは「もはやケーキ」ではなく、それを使用するのはもはや流行ではないことを知っていますが、このテクノロジーは大きな市場シェア、多くの開発、優れたドキュメントを備えているため、Python、Ruby、Javaなどと同等に使用します。



有名なプロジェクトの表( http://builtwith.com/のデータに基づく)、クリック可能:



画像



YouPorn(ポルノサイト)



使用されるテクノロジー:



2011年以来、このサイトでは、Perlの代わりにPHP + Symfonyを使用し、MySQLとActiveMQの代わりにRedisを使用しています。 したがって、Redisはメインのデータベース管理システムと見なされ、オブジェクトのキャッシュも担当します。 MySQLは、Redisクラスターのデータを管理および追加するための管理者ツールとして使用されます。 HAProxyは負荷分散を担当します。



(ソースhttp://highscalability.com/blog/2012/4/2/youporn-targeting-200-million-views-a-day-and-beyond.html



統計について少し:



そのようなコンテンツのサイトのトラフィックが多いことは明らかです。そのため、全体像については数個の数値のみを示します。 2012年の統計は、世界中で4,851,384,493回の訪問でした。 1日あたり平均950 TBが送信されます。 1日あたりの視聴回数は2億回です。 Redisサーバーは1秒あたり30万のリクエストを処理します。



(ソースhttp://blog.youporn.com/youporn-2012-big-numbers-hard-facts/、http://www.extremetech.com/computing/123929-just-how-big-are-porn-sites / 2



Yahoo! ブックマーク(オンラインサービス)



使用されるテクノロジー:



Yahoo!について話すべきではないと思います。.たとえその位置で少し降伏したとしても、誰もがそれをよく知っています。 ここで、Yahoo! ブックマークはPerlで作成され、後にPHPとSymfonyフレームワークが使用されました。 さらに、Michael Salisburyによると、優れたドキュメント、豊富な設定オプション、ゼロから開発する必要のない種類の最高のコンポーネントの使用により、Symfonyが選択されました。



(ソースhttp://www.symfony-project.org/blog//2006/10/28/yahoo-bookmarks-uses-symfony



統計について少し:



Yahoo! ブックマークには毎月50万人以上のユーザーがアクセスします。 2014年4月現在のユニーク訪問数は20万をわずかに上回っていますが、昨年の数値と比較して大幅に減少しています。2013年6月のユニーク訪問数は50万を超えています。



(ソースhttp://www.siteclass.com/www/bookmarks.yahoo.com



Delicious.com。 (オンラインサービス)



使用されるテクノロジー:



PHPはプログラミング言語として、Symfonyはフレームワークとして選択されました。 ホスティング-Amazon。 MySQLはメインのデータベース管理システムとして採用され、オブジェクトキャッシュはmemcachedによって実行され、Redisは追加のデータストレージとして機能します。



統計について少し:



毎月約150万人がdelicious.comにアクセスし、そのうち25万人以上がユニークな訪問です。 現在の統計は劇的に低下しています。 当時、プロジェクトはYahoo!が所有していたため、 530万人以上のユーザーと1億8千万のユニークなブックマークがサイトに登録されました。



(ソースhttp://www.siteclass.com/www/delicious.com、http://en.wikipedia.org/wiki/Delicious_(website



TED(会議サイト)



使用されるテクノロジー:



Ted.comは2006年に誕生しました。 このプロジェクトでは、プログラミング言語としてPHPを使用し、フレームワークとしてSymfonyを使用しました。 CTO Gavin HallとソフトウェアアーキテクトのMichael Twentimanとのインタビューで、彼らは上記の技術に基づいたサイトの最初のバージョンについて話しました。 PHPは多くの開発者が知っていた当時人気のある言語の1つとして選ばれました。 また、Yahoo!などの巨人のスケーリングの経験も言及されています。 また、PHPを使用するFacebookもプログラミング言語の選択に影響を与えています。



(ソースhttp://hello.ted.com/2013/10/04/under-the-hood/



統計について少し:



2014年1月の時点で、会議でのスピーチの1,500を超える録音がサイトで公開されました。 毎週5〜7の新しいパフォーマンスが公開されます。 2012年11月13日、TEDは10億回の視聴回数を記録しました。 毎月200万人がted.comにアクセスし、そのうち100万人以上がユニークな訪問者です。



(ソースhttps://www.quantcast.com/pitchfork.com



Dailymotion(ビデオホスティング)



使用されるテクノロジー:



このプロジェクトは、Linuxホームサーバーに基づいて2005年に開始されました。 最初は彼は懐疑的でしたが、ユニーク訪問数が1か月に3700万を超えた後、クリエイターは拡大を考えました。 2009年、DailymotionはSymfonyに切り替えました。 そのため、このプロジェクトでは多数のPHPとSymfonyも使用しています。 MySQLはメインのデータベース管理システムとして採用され、オブジェクトキャッシュはmemcachedによって実行されます。



(ソースhttps://www.ndm.net/isilon/pdf/dailymotion.pdf、http://whoisusing.it/website/dailymotion



統計について少し:



2013年のDailymotionは、世界中で1億1,200万回以上のユニークアクセスと25億回のビューを記録しました。 これには、1日あたり50 Gbの情報、1日あたり2500万のページビュー、1日あたり200万のユーザー、1日あたり1 TBのビデオの追加が含まれます(出典:ComScore、2013年1月)。 2012年のサイトのトラフィックは、世界で32mでした。



(ソースhttps://www.ndm.net/isilon/pdf/dailymotion.pdf、http://advertising.dailymotion.com/stats/



BlaBlaCar(ソーシャルネットワーク(プラットフォーム))



使用されるテクノロジー:



PHPはプログラミング言語として、Symfonyはフレームワークとして選択されました。 MySQLはメインのデータベース管理システムとして使用され、オブジェクトはmemcachedによってキャッシュされ、オブジェクトのコレクションはRedisによってキャッシュされます。 これはすべて、RabbitMQと組み合わせても機能します。 Elasticsearchは、検索プラットフォームとして使用されます。



(ソースhttp://moquet.net/talks/symfony-live-2013/



統計について少し:



このプロジェクトは2004年に開始されました。 過去10年間で、ユーザーの数は徐々に増加しており、2014年の登録ドライバーと乗客は600万人です。 プロジェクト中に絶対に約3,000万の旅行がありました。 2014年1月、BlaBlaCarはロシアとウクライナに登場しました。 現在のところ、サイトの統計は次のとおりです。1日あたり27000を超えるユニークアクセス、および16万を超えるページビュー。



(ソースhttp://fr.wikipedia.org/wiki/BlaBlaCar、http://www.rankstats.org/worth/blablacar.com



W3Counter(統計サービス)



使用されるテクノロジー:



PHPはプログラミング言語として、Symfonyはフレームワークとして選択されました。 MySQLはメインのデータベース管理システムとして使用され、Redisはオブジェクトキャッシングを実行します。



(ソースhttp://www.dangrossman.info/2014/02/08/10-years-of-w3counter/



統計について少し:



このサービスは、76,000を超えるサイトの詳細な統計を提供します。 このプロジェクトには、1日に3,000人を超えるユーザーがアクセスし、8,000を超えるページビューがあります。 ユニークな毎月の訪問-約4万。



(ソースhttp://bluehorn.co.nz/2008/12/06/popular-websites-built-using-symfony-framework/、https://www.quantcast.com/w3counter.com?country=GLOBAL



Photobucket(画像ホスティングサービス)



使用されるテクノロジー:



PHPはプログラミング言語として、Symfonyはフレームワークとして選択されました。 MySQLはメインのデータベース管理システムとして採用され、Hadoopは検索およびコンテキストメカニズム、データ分析の実装に使用されます。 Squidは、キャッシングプロキシサーバーの機能を実装します。



(ソースhttp://www.linkedin.com/in/jgoss1074



統計について少し:



このプロジェクトは100億を超える画像をホストし、そのうち約400万の写真とビデオファイルがWebおよび接続されたデジタルデバイスから毎日ダウンロードされます。 これらはすべて1億人以上の登録ユーザーによってダウンロードされます。 このプロジェクトは人気があり、30万を超えるさまざまなサイトがリンクしています。



6月には、プロジェクトの訪問数は約6,200万、ページビューは約1億8,000万回で、そのうち1日あたり180万回以上、1日あたり500万回以上のページビューがあります。



(ソースhttp://en.wikipedia.org/wiki/Photobucket、http://en.wikipedia.org/wiki/Photobucket、https://www.quantcast.com/photobucket.com



ポストクロッシング(プロジェクトサイト)



使用されるテクノロジー:



プロジェクトは、Symfonyフレームワークを使用してPHPで記述されています。 MySQLは、Redisと連携して動作するメインのデータベース管理システムとして採用されています。 このプロジェクトでは、Amazonインフラストラクチャ、特にS3も使用しています。



(ソースhttp://sankarsuresh.wordpress.com/2005/11/24/postcrossing/、http://codemonkey.ravelry.com/2010/03/24/ravelry-runs-on-2010/



統計について少し:



現在、このプロジェクトは212か国から48万人以上のユーザーを登録しています。 プロジェクトの支援により、2450万枚以上のハガキが届き、そのうち1550万枚がサイトで公開されました。 2014年6月現在、ユニーク訪問数は18,000です。



(ソースhttp://www.postcrossing.com/stats/postcards、http://www.postcrossing.com/stats/users



イベントファインダー(ソーシャルネットワーク)



使用されるテクノロジー:



2006年、プロジェクトはプログラミング言語としてのPHPとフレームワークとしてのSymfonyに切り替えました。 ホスティング-ICONZ。 MySQLはメインのデータベース管理システムとして採用されています。



(ソースhttp://www.scoop.co.nz/stories/SC0606/S00050.htm



統計について少し:



スタッフは18人を雇用しています。 このプロジェクトには、1か月あたり約80万件のユニークアクセスがあり、そのうち1日あたり2万5千件を超えています。 また、75,000ページ以上が毎日表示されます。



(ソースhttp://eventfinder.co.nz.w3snoop.com/



したがって、PHPの専門家の中には最近強く批判している人もいますが、まだ多くの深刻なプロジェクトがあります。 この場合、この記事では特定のフレームワークのプロジェクトの概要を説明しますが、PHPには多くのプロジェクトがあり、それらは非常に異なっています。この言語には多くのプロジェクトがあります。 プロジェクトの高品質な技術的基盤を実装するための主なものは優れたプログラマーですが、さまざまな言語やフレームワークでそれを行うことができますが、それは特定のタスクに最適な方法であるため、多くの場合、最大限の効果を得るためにテクノロジーを混在させる必要があります。 symfonyは中規模から大規模のプロジェクトに最適ですが、多くの欠点があります。



一般的に、Symfonyには多くのプロジェクトがあります。 そして、それらの多くは開発に使用されます。 たとえば、eコマースプロジェクトの場合、 Syliusがあります (プロジェクトとは関係がないため、すぐには広告に使用しません。これは単なる例です)。 非常に興味深いソリューション。 これは、Symfonyに基づいた数少ない無料で十分に開発されたバンドルの1つであると言えます。 すぐに理解できない場合があり、時間と労力を費やす必要がありますが、これらはすべて、個々のコンポーネントとシステム全体の両方が提供する多くのユニークな機会によって賄われています。 Syliusに含まれる特定のバンドルの機能とアイデアを理解したので、eコマース以外のプロジェクトでそれらを使用することができます。



私たちと一緒にいて、PHPと他の技術について書いていきます。 コメントでトピックを提案できます。最も興味深いものを分析します。



PHP / Symfonyコース 。 5か月間のトレーニングコース「私はジュニアPHP開発者になりたい!」「Symfony 2.柔軟な開発」が先日私たちの学校で始まります。 サインアップするには、 info @ digitov.comに書き込みます



新しい記事他の記事よりも早く新しい記事を受け取るため、または単に新しい出版物を見逃さないために-FacebookVKTwitterで購読してください。



著者:

アンドレイアスタフィエフ、ミドルプロジェクトマネージャー、 SECL GROUP / Internet Sales Technologies

Nikita Semenov、 SECL GROUP社長/ インターネットセールステクノロジーズ



All Articles