どurakuの作ったもの、作ろうとしているもの、作ろうとしていたものの近況。tableするどうも簡単なスクリプトを書いた方が早いみたいなのでそうする。した結果が出力されます。mysqldupのスキーマのみオプションでは重厚すぎる場合などに。二つのDBに対して実行した結果をdiffで比べて簡易mysqldiffとしても使えます。サーバー運用者向け基礎まとめを作りました。以下、PDFスライドです。PostgreSQLはそこまで詳しくないですが。軽量・軽快で高速なフレームワークですが、今時の高速化トレンドに対応して更に速くしていきましょう。有効にしておきましょう。gzip圧縮にするGoogleのアドバイスツールでも指摘してくるやつですね。CodeIgniter、というよりはPHPの標準的な機能になるのですが、以下のコード(冒頭4行)をビューのアウトプットをする前に入れておくだけでPHPの透過的なgzip圧縮が有効になります。$data));※このコードではビューの組み立てにTwigを使っています。注意点として、画像であったりZIPファイルをバイナリで返したりであるような際に透過的な圧縮が有効になっているとファイルが壊れてしまったりします。いう出力をするURLが有る場合は、全てのURLで常に適用されるような書き方は避けるのが無難です。組み合わせてあげましょう。MPM)にする事が必要になりますので、その辺りも適宜チューニングしていきましょう。3は同じクライアントから同時に複数URLを叩かれるような場合に、同時に処理せず逐次処理のような挙動をします。これはPHPのセッションが有効になっている際の制限なのですが、セッションの機能を使い終わったタイミングでセッションを書き込み・クローズさせてあげる事で並列度が上がります。同ユーザー・セッションからの連続アクセスの為にセッションのロックを解除する。これを実行した後はセッション関連の機能が使えない事に注意。session_write_close();そもそもAPIでセッションを利用しているのがよくないという話も有りますが、必要な場合にはこの対策をどうぞ。Redisでキャッシュとかも使っていきたいMemcachedとか、AWSのElastiCacheとか。CodeIgniterにはそれらを利用するための機能が標準で用意されています。扱ってしまっているのでCodeIgniter側の機能は使った事が無いのですが。キャッシュしましょう。最新のMySQLやPostgreSQL使いたいよねMySQLにしてもPostgreSQLにしてもバージョンが上がるたびに様々な改善が有り、高速化が有り、新機能が有ります。8.0にも更なる期待が持てるこの頃。CodeIgniterには重厚なORマッパーが有りません。QueryBuilderは本当にクエリのビルダですし、生のSQLを直接実行する事も容易です。8.0のウィンドウ関数、CTEであったり、JSON型、配列型など、RDBの強力な機能を積極的に使っていけます。実際、PostgreSQLの配列型をタグの実装として使っていてなかなか便利だったりします。blog配列型はCodeIgniterからは「配列っぽい文字列」として扱う事になるので、適当な変換関数を作ってオブジェクトだったり連想配列だったりでやり取り出来るようにすると便利です。RDSが便利だよねといっても一応フェイルオーバーには数十秒かかります。以下の過去記事で「数秒間のDB接続不可に耐えるための方法」をまとめてあります。CodeigniterのDB接続不可をハンドリングして再接続するまた、CodeIgniterのデータベース接続には「1つ目の接続先が繋がらなかった場合に2つ目の接続先に繋ぐ」という機能が有ります。これからのマルチマスター時代のフェイルオーバーに容易に対応出来ちゃったりするのでしょうか。出来るのかは分かりませんが、試してみると面白いかもしれません。終わり他にもいろいろあるかもしれませんがこの辺で。色々な話題が有ります(その辺も勉強しないとなぁ)が、CodeIgniterも高速化していきましょう。