本節では、Javaヒープのチューニング方法および、チューニングによる影響範囲を説明します。 ■チューニング方法 Javaヒープの各領域のサイズは、表1に示すオプションをJava起動時に指定することで設定ができます。 なお、メモリ割り当てプールのデフォルトの初期値および最大値を、表2に示します。 また、Permanent世代領域のデフォルトの初期値および最大値を、表3に示します。 表1 Javaヒープに関するオプション オプション オプションの機能
前回、JVMとGCのしくみ - ITエンジニアとして生きるでJVMとGCのしくみについて書いた。 今回はその続きということでJVMのチューニングについて書きたいと思う。 JVMチューニングって -Xms ・・・ ヒープ全体(New領域+Old領域)の初期値 -Xmx ・・・ ヒープ全体(New領域+Old領域)の最大値 くらいしか話題に上がらないし意識しないことが多い(気がする)。 でもホントはこれだけではダメで、前回のようにPermanent領域、New領域、Old領域を意識したチューニングが必要になる。 VMチューニングを考えるその前に・・・チューニングの話をする前にまずVMの起動モードについて話したいと思う。 VMには大きく以下2つの起動モードがあり、それぞれ以下のような特徴を持つ。 ◆クライアントVMモード 起動時間を短縮し、メモリサイズを縮小するように調整されている。 VM起動時
リモートサーバーとのファイル同期の際にrsyncコマンドを使用すると便利ですが、特に何も指定しない場合は全力で働いてくれるため負荷が掛かります。 rsyncの負荷を抑える方法について、いくつか記載したいと思います。 1. 転送速度を調整する bwlimitオプションを付けることで、転送する速度を調整できます。 指定する値の単位はKbps単位で指定すします。 例えば、1MB/secの場合は 1024KB/sec→8192 Kbps/secなので --bwlimit=8192を指定します。 rsync -e "ssh" --bwlimit=8192 remotehost:/remote_srcdir/ /local_destdir 2. sshを使用する場合、負荷の低い暗号方式でCPU負荷を抑える ssh経由でrsyncを使用する場合、セキュリティ上特に問題がなければ arcfour(RC4)
WordPressのパフォーマンス向上の目的で、パフォーマンスチューニングを始めました。 httpd層では、別記事に記載したように、mod_chche、mod_disk_cacheを使用して、最低レベルの対策を実施しています。もちろん、まだ上のレベルがありますが、ここでは、DB層のパフォーマンスチューニングを実施します。 WordPressですので、DB層はMySQLです。現時点で最新のバージョン5.5.10を使用しています。 さて、まずは、現状を知ることから。 そこで、MySQLTuner を使用してみます。MySQLTuner は稼働中のMySQLの設定情報やログ情報からセキュリティ、パフォーマンスに関する診断結果と推奨情報を提供してくれるperlスクリプトです。 実際の利用には、まずは MySQLTuner をダウンロードします。 [root ~]# wget mysqltuner.
apacheのチューニングは、サイトの特性によっていろいろ変わってくるので、一概に「これがいいよ!」という設定値が存在しない。まあ、「ab」を使って値を注意深く分析しなさい。という一文で終わってしまいがちだね。(笑) ただ、そうはいっても「基本的にはこうしたほうが良い結果が得られることが多いよ」というポイントも存在するので、それらを紹介しておく。 原則1:ログの出力処理は「重い」ということを忘れない apacheが絶えず行う処理の中で、「重い」処理の部類に入るのが、実は「ログの出力」である。これ、結構忘れがちになってしまうが、 ・あとでアクセス解析とかしたいから ・セキュリティ上チェックを欠かせないから ・よく判らないけどとりあえずログとっとけ みたいな理由で、大きなログを取得して(そしてそのまま放置されて)いることが少なくない。確かに、ログが無きゃ無いであとで困ったことになることもあるか
今回は、MySQLの高速化のメモ - @luke_silvia.diaryの方法に従ってクエリの高速化をした際に、MySQLのインデックスについて分かったことを書いておきます。 高速化対象のクエリ 今回高速化したいクエリは、以下のようなもの。 SELECT users.*, students.school, workers.school FROM users LEFT JOIN students ON users.id = students.user_id LEFT JOIN workers ON users.id = workers.user_id WHERE (users.status= 1 AND ((kind = 0 AND students.school = 'test') OR (kind = 1 AND workers.school = 'test'))) ORDER BY
仕事でMySQLのパフォーマンスチューニングをしていて、インデックスについて分かっていないことが多かったので調べたことをメモ。基本的なところから学習しなおした。 MySQLのインデックスは、カラムが特定の値をもつレコードの迅速な検索に使用される。インデックスを使用すれば、数百とか数億ものレコードが入っているテーブルから、一組のレコードを迅速に見つけて取り出すことが可能になる。 しかし、インデックスは速度を改善することもあるが、挿入の邪魔になって遅くなることもある。 インデックスを適切に使うために、まずはインデックスの基本概念をおさえる必要がある。 インデックスの概念 インデックスとは インデックスの仕組みを理解するには、まずMySQLがどのようにクエリに応答するかを知る必要がある。 例えば、 SELECT * FROM phone_book WHERE last_name = 'Hoge'
これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(システム編) こんにちは nob です。 前編 これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(クエリ編) の記事から1年半が経過してしまいました。ちょっと長いお休みでしたが、その間に蓄えた MySQL パフォーマンス監視の実戦経験を(システム編)としてお届けいたします! 今回の(システム編)で紹介するツボは 4 つです。(クエリ編)のツボに加えて、この4つに注目して頂ければ MySQL のパフォーマンス監視もバッチリです。 (ツボ1)Load Average < (1 + (cpu数-1)/3) (ツボ2)Checkpoint Age が水平線になったら要注意 (ツボ3)MyISAM は無いよね監視 (ツボ4)万能選手スローログ なお前編と同様この記事では監視ツールとして Cacti と Percona MySQL
私の調べたApacheのチューニング方法です.Apacheのプロセス周りのチューニングを解説します. Webサーバーを構築するだけなら、この解説は飛ばして問題ありません. チューニングするApacheはバージョン2でpreforkのApacheを前提とします. 使っているApacheがpreforkかどうかは、「その他」をみてください. なお、私が調べた限りの事なので、間違っている場合があります.注意してください. 以下の順番で解説します. (1)Apacheのプロセスについて(慨論) (2)Apacheのチューニングポイント (3)Apacheのプロセスに関するディレクティブ (4)設定例 (5)値の決め方 (6)その他 1.Apacheのプロセスについて(慨論) まずは最初にApacheのプロセスについての基礎知識です. どのようなサーバーでも内部動作の概要を
さくらVPSで6万PV程度のサイトを運用することになったので、その際の記録を残しておきます。 さくらレンタルサーバ⇒さくらVPS さくらレンタルサーバで運用している時は、ちょくちょく503が発生しておりこれを解決するためにさくらVPSへの移行を行いました。 レンタルサーバの時は、ログ解析や監視ツールなどを導入していなかったので503の頻度やパターンは不明です。(安易な判断でVPSに移行したので、この点は反省です) 本来は原因を追及し、プログラムの改修やサーバ負荷の分散などをすべきですが時間の都合で省いてしまいました。 構成 運用するサイトはpukiwikiで構成されたサイトです。 pukiwikiは、PHPで書かれており大量のデータをRDBを利用せずに構築できる点が大きなメリットです。 今回は1サイトですが、複数のサイトを運用する可能性を考慮してVirtualHostも利用します。 さくら
その1apacheがよく応答無しになるので調べてみました -その1(コマンド)-の続き。 apacheがメモリを消費しすぎ、応答が異常に遅くなることがあるのでapacheやPHPの設定ファイルを見直しました。試したのはさくらのVPS512(メモリ:512MB)です。 apacheの設定ファイル /etc/httpd/conf/httpd.conf。CentOSのapacheはmpm_prefork。デフォルトの設定は以下の通り。 <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 </IfModule> これを検索した記事やapacheのマニュアルを読みつつ、値を変えて様子を見るという試
はじめに Apache2.2の基本設定、バーチャルホスト設定、ログ設定等はApache2.2の設定にまとめていますので参照してみて下さい。 また、MaxclientsについてはApache2.2のパフォーマンスチューニング(その2)にまとめています。 使用しているMPMと設定の確認 Apacheで代表的なMPM(Multi Processing Module)としては以下の二つがあります。 マルチスレッドであるworkerの方が、スレッドがメモリ空間を共有していたり、スレッド切り替え時にメモリ共有しているため切り替えのためのコストが少ない等などの理由によりお勧めのようですが、本サイトのように大量のアクセスがあるわけではない環境ではどちらを採用してもあまりかわらなそうです(ちなみにマルチプロセス、マルチスレッドの比較についてはLinuxネットワークプログラミング(シングルプロセス、シングルス
何故か遅いNFSをチューニングするべく検証。 # 5MBの書き込みに27秒もかかるのはちょっと。。。 下記の検証結果が、全ての環境であてはまるわけではないため、ご参考程度までに。 検証時の構成 Linux(Xen domainU) ---NFS mount---> Linux(Xen domain0)Xenのバージョンは3.0.2(linux kernelは2.6.16)。 # NICのデバイスも所詮はXenによって仮想化されているので、それほど参考にならないかもなぁ・・・。 実験内容 設定をいじる server: /etc/exports client: autofs(/etc/auto.master) マウント先に、5MBのブロック(1ファイル)を書き込み # マウントポイントの名前は適当(^^; 設定1(syncのみ) server: /home/share client_hostn
NFS ファイル共有システムは、良い意味でも悪い意味でも「古い」。UNIX 系 OS にはほぼ必ず実装されているので、LINUX マシン同士でファイルを簡単にやりとりすることができる。しかし一方、メールの SMTP プロトコルのように、他人 (他PC) が信じられる時代の性善説で成り立っているプロトコルである点は否めず、セキュリティを確保しながら利用するのは難しい。出来る限りのセキュリティ対策を施し、ローカルネットワーク内のみでの使用に限定し、使う時だけ起動させる姿勢で用いるべきだ。 ※ 当ページは NFSv4 が使い物になる前、主に nfs-utils 1.0.4 での検証を元に書いたものだ。NFSv4 については、もっと最近別ページにまとめた。 NFS の動作に関係するデーモン RedHat 系の RPM パッケージでは、portmap だけは portmap パッケージ、それ以外は
前エントリ pound と apache をバランスよくチューニングする必要性について の続きです。Apache2 のチューニングによる高負荷(大量アクセス)対策を考えてみます。 ここまできてやっと、そもそも高負荷時に apache2 のプロセス数が足りていなく、静的コンテンツの応答時間が遅延しているのかも?という仮説を立てることができました。図解するとこんな感じです。 Apache2 はもちろん worker MPM で動作させています。worker MPM ってなんぞ?という方は、このブログを読んで頂けている方にはいらっしゃらないかと思いますが http://httpd.apache.org/docs/2.0/mod/worker.html あたりを読むと良いでしょう。 このマルチプロセッシングモジュール (MPM) は、マルチスレッドとマルチプロセスのハイブリッド型サーバを 実装して
Kodama's home / tips. Linux サーバのチューニング 注意. 副作用あり. チューニングのトレードオフに注意. 一応動作するようになった後のチューニング. システムの負荷の状態や目的によってどのようにチューニングするかが変わる. トレードオフの考慮が必要な要因もあるので, 状態を調べながら調整する. システムの確認 カーネルの応答性(カーネル プリエンプティブ) Linux カーネル と vmware ESX サーバ サーバの応答性(キャッシュの書き込み間隔,dirty_writeback_centisecs,dirty_expire_centisecs) ext3 のジャーナルの調整(data=journal) ディスクの負荷を軽減(noatime) ディレクトリ参照を高速化(dir_index) NFS スレッド数(/proc/fs/nfsd/threads)
\閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く