wiki:pne-sysadmin
 ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Version 21 (modified by tejimaa, 12 years ago) (diff)

--

TOC(titleindex,heading=リンク,pne)?

OpenPNEサーバ運用

OpenPNEサーバ運用コミュニティで議論された仕様を紹介します。

http://sns.openpne.jp/img.php

OpenPNEサーバ運用

とにかくチューニング!

  • 変更頻度の低い項目(管理画面設定値)をmemcached等にキャッシュ保存

OpenPNEの運用に適したサーバは?

  • mbstring
  • cron
  • メールサーバ支配出来る
  • ssh使える
  • MySQL4.1以上である
  • eAccelerator導入できる

OpenPNEを速くするには?

  • eAcceleratorを導入する
  • DBのメモリを増やす

プロジェクトチケット component=pne-sysadmin&resolution=|

未完了のプロジェクトチケット

#157
データの暗号化をMySQLに任せる
#509
エントリーポイントを増やしても性能劣化が起きない設計にする
#561
ichioku.pne.jpに負荷をかける仕組みを考える
#597
単一REQUEST=>RESPONSEシーケンス内で関数の結果をキャッシュする仕組みを作る。
#599
各画面にphpの実行時間を表示
#614
CentOS5のセットアップをしてOpenPNEを設置してみる。
#875
負荷シナリオ JMeterでの稼動確認
#1056
→ookura ADODB版OpenPNEの負荷を測定する
#1132
SNSオーナーによる変更が出来ないプロフィール項目を作りたい

ボトルネックを発見する

  • 検証用のテスト環境を準備
  • JMeterによる限界性能テスト環境を準備
  • ボトルネックの検証
  • ボトルネックを本Wikiに掲載する

クエリの改善

http://slashdot.jp/journal.pl?op=display&uid=4&id=26710

転送量の削減

PCスタイルシートの分離配送

PC版のHTML内に埋め込まれているスタイルシートは分離配送が可能なので、分離してキャッシュを効かせる。これで転送量を減らす。

<style type="text/css">
<!--
/*枠線要素*/
.border_00 { border: #F7F7F7 1px solid ; }

で始まる部分を分離

#1036

ktaiキャッシュを効かせる

携帯のキャッシュをHTTPレベルで効かせることで、ページ遷移ごとの読み込み(特に「戻る」の場合)時のデータ転送量を削減する。

DB接続ライブラリ選定

OpenPNEをスピードアップさせるために、DBの接続ライブラリを現在のPear:DBから変更する。

  • ADODB ※PHP5の普及まで
  • PDO(最速でOpenPNE2.11以降で対応を検討)※PHP5環境の普及後

SQLキャッシュ

MySQLのクエリーキャッシュを使わずに、PHPのレベルでSQLキャッシュをかけて、負荷を軽減する。

現状ではADODBに組み込まれている、キャッシュ機構を取り込んでいく予定。

単一リクエスト・レスポンス内のSQLキャッシュ

c_memberデータなど、単一のリクエストレスポンス内で行うSQLキャッシュ

単一リクエストを超える特定時間のSQLキャッシュ

c_snsconfig等比較的長期間キャッシュを保持して良いデータに対するSQLキャッシュ

memcached

php セッションをmemcachedに保存

=>完了

ADODBクエリーキャッシュをmemcachedに保存

OpenPNEのその他のファイルキャッシュをmemcachedに保存

ノート