ラベル tuning の投稿を表示しています。 すべての投稿を表示
ラベル tuning の投稿を表示しています。 すべての投稿を表示

2013年11月2日土曜日

Windowsの Cドライブの残容量を増やす方法

まずは、

  •  「ディクスのクリーンアップ」を実行する
    • Cドライブを右クリック → プロパティ → ディクスのクリーンアップ

急ぎなら、
  • SoftwareDistribution関連(Windowsの高速化)
    •  C:\Windows\SoftwareDistribution\DataStore\DataStore.edbを削除する
    • しばらくするとまた増えるので、容量不足解消という意味では応急対応にしかならない

それでも駄目なら、

2011年6月21日火曜日

PostgreSQLで 最後にVACUUM / ANALYZEした日時を取得する SQL

PostgreSQLで、最後にVACUUM/ANALYZEした日時(AUTOと手動のそれぞれについて)を確認するSQL。

SELECT relname, n_live_tup, n_dead_tup, last_vacuum, last_autovacuum, last_analyze, last_autoanalyze
FROM pg_stat_all_tables
WHERE schemaname = 'public' -- schemaname or relnameで絞りこむと見やすい
ORDER BY relname

参考:

2009年8月28日金曜日

Firefoxの起動や終了が遅い問題を解決するアドオンいろいろ

Firefoxの起動や終了にやたらと時間がかかる原因の1つは、Firefoxの内部データを保存しているDBの1つであるplaces.sqliteが肥大化することらしい。
Firefoxの終了が遅くなると、終了してから起動しようとすると「Firefoxは起動しています」とか言われて起動できないこともよくある。

で、そのplaces.sqliteをVACUUMするアドオンが相次いでリリースされている。


Vacuum Places :: Firefox Add-ons

  • ステータスバーのアイコンをクリックするとVACUUM
  • 設定画面(ロシア語!)はあるが、実際には使えない(設定しても意味無い) バージョン0.2からは使えるようになったらしい


Vacuum Places Improved :: Firefox Add-ons
  • 上記のVacuum Palcesの改良版
  • 設定画面が英語になり、かつ、実際に使えるようになっている
  • 設定すれば、一定のFirefox起動回数ごとに自動でVACUUMしたりできる


ふと今日は・・・・・・  Vacuum Places 日本語化
  • 上記2つの日本語化版


PlacesCleaner :: Firefox Add-ons
  • アクセス回数が少ないページを履歴から削除することにより、さらにplaces.sqliteをダイエットできるそうだ


SQLite Optimizer :: Firefox Add-ons



個人的には以前から使っているSQLite Optimizerが気に入っている。
VACUUM&Reindexしたら、確かに再起動が早くなった。
ていうか、これはFirefox本体でやるべきことだと思う。


ちなみに、上記のアドオンをいくつか試していたら、DeliciousアドオンのSQLiteのデータがおかしくなった。(ReSyncですぐに直ったけど。)どれが悪さしたんだろう?



参考:
 Places を VACUUM する拡張機能3個 - えむもじら
 Firefoxを起動したままplaces.sqliteをVACUUMできる: べつになんでもないこと
 Mozilla Re-Mix: Firefoxの[places.sqlite]をワンクリックで最適化できるアドオン「Vacuum Places」

2009年2月11日水曜日

MySQLの query_cache_sizeのチューニング

query_cache_sizeに値を指定することで、MySQLのクエリーをキャッシュさせレスポンスを向上させる。
デフォルトはゼロ。(キャッシュしない。)

現在の状態は下記SQLで取得できる。

SHOW STATUS LIKE 'Qcache_%';

  • Qcache_free_memory・・・キャッシュの空き容量。足りなければ増やす
  • Qcache_lowmem_prunes・・・キャッシュの容量不足で削除されたクエリーの数。これが多い場合もキャッシュサイズを増やす
  • Qcache_free_blocks・・・断片化したキャッシュのブロック。これが多い場合は下記SQLで断片化を解消する(1になる)。
    FLUSH QUERY CACHE;


キャッシュに関する状態は、MySQL Administratorでも見られる。


参考:
 [ThinkIT] 第6回:query_cache_sizeの違いによるパフォーマンス比較 (1/3)
 もろもろメモ : MySQL cache "query_cache_size" の設定

PDOの Prepared Statementと MySQLの Query Cache

MySQL で prepared statement を使うと query cache が効かないらしいので調査。


MySQL 5.0と 5.1.17 より前(=5.1.16以前)では、サーバサイドのPrepared Statementを使うとQuery Cacheが使われない。
参考:
 MySQL :: MySQL 5.0 Reference Manual :: 7.5.4 The MySQL Query Cache
 MySQL :: MySQL 5.1 Reference Manual :: 7.5.4 The MySQL Query Cache
 [PHP] prepared statement - Usenet Forums


でも、PDOのPrepared StatementはQuery Cacheを使っていると言う人もいる?(MySQLは5.0)
PHPのPDO::mysql。prepared statementはquery cacheを使っている! | まつぼっくりんご


また、PDOのPrepared Statementはそんなに有用じゃないから、$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true) した方がいいとか、PDO::query() を使った方がいいと言う人もいる。
Using PDO::MYSQL ? - Evil, as in Dr.(→ 機械翻訳:PDOを使うこと:MYSQLに?-悪(博士の場合のように)。
PHP: PDO::prepare - Manual


試したかったが、手元の環境は最新の5.1だったから普通にCacheが使われていた。

2009年1月26日月曜日

Windowsに PHP eAcceleratorをインストールメモ

インストールのメモ。PHPは5.2.8。


インストール手順

  1. Apache on Windows binaries and modules downloadからZIPをダウンロード(現時点の最新版(5.2.8)にしか対応していない?)
  2. ZIPを解凍(展開)して、eaccelerator.dllをPHPのextフォルダに移動またはコピー
  3. ZIP内にあるcontrol.phpをWebブラウザで見られる場所に移動またはコピー(例:C:\apache\htdocs\test\control.php)
  4. control.phpの変数$userと$pwの値を適切なものに変える(この認証を使わないなら該当箇所をコメントアウトする)
  5. control.phpではshort_open_tagの"<?="を使ってるので、これを許可していない場合は"<?php echo "に置換する
  6. キャッシュ用のフォルダを作成(例:C:\temp\cache\ea)
  7. php.iniに設定を追加
    (例)
    [eAccelerator]
    extension="eaccelerator.dll"
    eaccelerator.allowed_admin_path="/apache/htdocs/test/control.php"
    eaccelerator.shm_size="64"
    eaccelerator.cache_dir="/temp/cache/ea"
    eaccelerator.enable="1"
    eaccelerator.optimizer="1"
    eaccelerator.check_mtime="1"
    eaccelerator.debug="0"
    eaccelerator.filter=""
    eaccelerator.shm_max="0"
    eaccelerator.shm_ttl="0"
    eaccelerator.shm_prune_period="0"
    eaccelerator.shm_only="1"
    eaccelerator.compress="0"
    eaccelerator.compress_level="9"
  8. Apacheを再起動
  9. control.phpにアクセス(4.で設定したユーザー情報でログインする)
  10. control panelがエラー無く表示されていればインストール完了



php.iniの設定について
  • [eAccelerator]は無くても良いがあった方がわかりやすい。
  • allowed_admin_path・・・手順3で移動したPHPのパス
  • shm_size・・・0にすると「デフォルト値」が適用される(手元の環境では32MBだった)
  • check_mtime・・・0にするとPHPを更新してもキャッシュをCleanするまで更新が反映されない
  • filter・・・キャッシュ対象を絞り込める
  • compress・・・1にすると圧縮するが、どちらがよいかは状況によるらしい



control.phpでの操作
  • Caching・・・キャッシュの有効/無効の切り替え
  • Optimizer・・・最適化の有効/無効の切り替え
  • Clear cache・・・キャッシュを全て削除
    Remove all unused scripts and data from shared memory and disk cache, this means all data that isn't used in the current requests.
  • Clean cache・・・期限切れのキャッシュを削除


    Remove all expired scripts and data from shared memory and disk cache.


  • Purge cache・・・削除対象としてマークされたキャッシュを削除?


    Removed all scripts that are marked for deletetion. This will happen automaticly when shared memory is needed.





使ってみた感想
control.phpでキャッシュされる様を眺めるのが楽しい。
WordpressとかCakePHPとか、ファイルサイズ大きすぎ。


それから、control.phpでやっている認証はBasic認証なので、気持ち悪かったらApacheでDigest認証やその他のアクセス制限をかけた方が良さそう。



参考

ブログ アーカイブ

tags