2017/03/13-20
*DeNAの「WELQ」の恐るべき運営実態・記事作成マニュアル・ブラッシュアッププロジェクトなどがわかる300ページ突破のすごい調査報告書がダウンロード可能に
http://gigazine.net/news/20170313-dena-welq/
>Googleの検索結果で上位に出るようになった結果、どのような対策を施したかも
>203ページ目に書かれており、これらGoogle対策を「ブラッシュアッププロジェ
>クト」と呼んでいたそうです。
*3000もの技術者面接で分かったこと
http://gigazine.net/news/20170313-lesson-from-3000-technical-interview/
>分析の結果、面接担当者が重要視していたのはオンライン学習講座の
>「Udacity、コーセラの受講経験」「一流企業で働いた経験」「一流大学卒」
>の3つに偏っており、特にオンラインの技術系講座で有名なUdacity、コーセ
>ラを受けたことがあるかどうかが注目されているようです。
*AWS×PHPでの 高信頼かつハイパフォーマンスなシステム
https://developers.cyberagent.co.jp/blog/archives/5125/
>ボイきらは2016年11月15日にリリースした女性向けリズムゲームです。
>事前登録は24万人を突破し、リリース後はAppleStoreの無料ランキングで
>1位を獲得しました。サービスの運用で特徴的なのはリリースが約2ヶ月で
>以下の5種類の新イベントを計11回も開催していることです。
>一方でシステムの停止時間はメンテナンス時間の6時間とシステム障害の
>10分で合計6時間10分で、サービスの稼働率は約99.5%です。
>クライアントのアセットやマスターデータ、Webviewなどの静的なコンテ
>ンツは全てCDNから配信を行っています。これによって負荷の分散やレス
>ポンス時間の向上を図っています。
>Redisはシングルスレッドで動作するため、CPUのコア数が増えてもパフォ
>ーマンスの向上が見込めません。リクエストが増加した時などに設定ファ
>イルの修正のみで簡単にスケールアウト出来るような実装をしています。
>ボイきらではシャーディングを行っていません。シャーディングはDBの書き
>込みの負荷分散には有効な手段ですがデメリットもあります。たとえば
>ユーザIDを使用しない検索を行いたい場合に最大で分割数回のクエリを
>発行する必要が発生します。一般的にシャーディングするテーブルとしない
>テーブルでDBを分けることで上記のケースが発生しにくくすることが可能
>ですが、XAトランザクションの実装などが必要になります。Auroraの
>スケールアップで書き込みの性能も線形的に増加する特性を考慮し、
>シャーディングを行う必要がないと判断しました。その代わりに読み込みは
>すべてReaderを使用することで、Writerの負荷分散を行っています。
>フルスタックなフレームワークを使用すると相当数なファイルの読み込みと
>コンパイルが発生するのでこれもパフォーマンスの低下の大きな要因になります。
>
>ボイきらではAPCuとOPcacheを使用することで上記の課題に対処しています。
>APCuとはPHP内に共有メモリをもつためのモジュールです。
>RedisではなくAPCuを使用した経緯としては、負荷試験で両者を比較した
>結果APCuのほうが20%ほどスループットが高かった点、各APIサーバに
>Redisを立てるとその分の監視などの運用コストが増える点などを考慮
>したためです。
>RDSはミラーリング方式のためMultiAZを行うとパフォーマンスが劣化
>します。一方でAuroraはQuorum方式で全ての書き込みが完了する前に
>レスポンスを返却するためMultiAZ配置してもパフォーマンスの劣化が
>少ないです。
>
>またRDSは別MultiAZで作成したインスタンスをリードレプリカとして
>使用することが出来ません。一方でAuroraはMultiAZで作成したインス
>タンスをリードレプリカとして使用することが可能です。
>
>またレプリ遅延に関してもRDSは負荷に応じて数秒単位まで増加するの
>に対して、Auroraは概ね20ミリ秒です(ボイきらでは)。
>
>さらにAuroraにはReaderのエンドポイントが存在するため、フェイル
>オーバー時のエンドポイントの更新などの仕組みをアプリエンジニアが
>実装する必要がありません。
>以上の特徴からAuroraでMultiAZ構成で使用する場合は、待機系をリード
>レプリカとして使用することが推奨されます。しかし遅延を考慮した実装
>がされていないと、以下の状況の時にデータ不整合が発生する可能性が
>あります。
>PHPはC言語で記述したライブラリを拡張ライブラリ(以降エクステンショ
>ン)として指定することが可能です。C言語で実装されたエクステンショ
>ンはPHPよりも高速に動作するため、多くのMySQLやRedisのライブラリは
>C言語で書かれています。
>Zephirの登場によって、PHPライクな構文で記述したソースをC言語に変換
>してエクステンションを作成することが可能になり、エクステンションの
>作成が容易になりました。
>上記の結果からPHP7を使用できる環境ではZephirを使用しても高速化は
>あまり期待出来ないことが分かります。
*コミュニティテンプレート Vuls の利用とTips
http://blog.idcf.jp/entry/idcf-vuls2
>Vulsは、OSSの脆弱性検知ツールです。Githubで公開されています。
>Vulsは開発速度が速く、日によっては毎日PullRequestやMargeがされて
>います。これは、脆弱性検知精度向上や 新たな対応OSの追加などのため
>です。( 先日、RaspberryPi用のRasbianがサポートOSに加わりました! )
0 notes