2009-01-01から1年間の記事一覧

select * from ( select tblname from admintemp.hmv._tmpProductDb(nolock) ) as wk1 full join ( select tblname from admintemp.hmv._tmpProductDb(nolock) ) as wk2 on wk1.tblname <> wk2.tblname where wk1.tblname like '%' + wk2.tblname + '%'

ネットワーク

ハンドシェイク netstat -aを使って3wayハンドシェイクが見える LISTEN⇒ESTABLSHEDに変わる TCPコネクションをESTABLISHDにしてその上でSQLのやり取りをする タイムアウト osのtcp_keepalive_timeとかで一部設定はできる しかし、完全につまっているのであれ…

ストレージ

ディスクアーキテクチャ シーク+回転待ち+データ転送時間 これがHDDへのアクセス方法。キホンでイメージするのは非常に大事! エレベータをイメージする エレベータの階数を選ぶのが⇒シーク 部屋番号を選ぶのが⇒回転待ち 部屋からものを取り出して渡す⇒デ…

1-3 より深く理解するためのOS講座

システムコールはosの窓口 データの安全のため、リソースの多くはosが管理する。何をするにもまずはosにお願いする。データを破壊するなどをosが制御してるから。 そんじゃそのシステムコールを確認しちゃおうよ strace コマンドのread,writeまで見える osが…

1-2 超メモリ入門

メモリの仕事 DBキャッシュ、ライブラリ、システムコール、ファイルシステム、ファイルキャッシュ、仮想メモリ管理 メモリ内部 テキスト プログラム データ グローバル変数 ヒープ 自由に取得することが可能な領域。malloc,freeで取れる部分 ライブラリ 標準…

1-1 DBサバにおけるOSの役割

アプリ、DBMS状態を読み取る パフォーマンス解析ひとことめも デュアルコア、マルチプロセッサを考慮した解析をしないとだめだよ cpuが100%の状態でload avg, run queueもしくはuser timeが少ない場合は1つのプロセスがずっと動き続けてるってことだよ。 os…

コマンドインデックス

top N CPU負荷が高い順 M MEM負荷が高い順 参考 http://www.atmarkit.co.jp/flinux/rensai/root07/root07b.html vmstat vmstat 5 5秒ごと procs r ランナブルキュー、実行可能のプロセス b ブロックキュー、プロセス待ち 待たされてるキューです。結構大事。…

5章 省力運用

5-1 サービスの稼動監視 Nagios 稼動監視の種類をざっくり整理してみましょ ホスト、サービス稼動状態、死活状態の監視 ホスト、cpu使用率、サービス同時処理などの負荷状態 cpu負荷、os待ちプロセス、リクエストキュー、待ちリクエスト Dos攻撃⇒遮断っしょ …

4章 性能向上、チューニング

4-1 Linux単一ホストの負荷を見極める あくまでチューニングは渋滞を取り除く作業。できること以上のことはできない。 アプローチ Webアプリの負荷分散⇒ディスクI/Oの分散、軽減作業 OS自体がキャッシュを持ってる。それをどれだけ使えるかが大事。 OSの動作…

3章 止まらないインフラ目指す工夫

3-1 DNSサバの冗長化 3-2 ストレージサバの冗長化 ストレージサバの冗長化はなかなか困難 DRBD(Distributed Replicated Block Device) ネットワーク越しのRAID1ってわけだよ。ディスクをネットワーク越しでミラーリング。NASのなかでRAID1ってことか。 Activ…

2章 ワンランク上のサーバ/インフラ構築

2-1 リバースプロキシ Apache mod_proxy mod_proxy_balancer lighttp/squidなどでも実現可能 リバースプロキシはWANからLAN クライアントからの要求がWebサバに届く途中で処理に入り、前後処理を施す HTTPリクエスト内容に応じたシステム動作制御 クライアン…

1章 サバ/インフラ構築入門

1-1 冗長化のキホン 冗長化の本質 障害を想定する 障害に備えて機材を準備する 予備機に切替える運用体制を整備 コールドスタンバイ 動かしてなくて待機 ホットスタンバイ 常に電源を入れておきNTに接続。現在機が更新されたら予備機も更新 フェイルオーバー…

これがないと仕事できないぞー。棚卸。

ソフト整理 作業効率を考えてて手を入れてたらあっとゆーまに一週間たってしまった。。 これらをとりあえずDropBoxに入れたんでちょっと満足。これでHDDいっちゃっても回復は早いはず。 残件としてはそれぞれ入れてはみたけどまだツールに使われてるのがある…

firefox関連棚卸

firefoxハック about:configって打ち込んで環境変えれるよ。dns lookupのキャッシュ件数変えてみたりね。 sql liteでprofileを管理してるからreindexとかすると早くなるよ。 firefox.exe --profileMangerでプロファイルマネージャ起動できるよ。ファイルを削…

デスクトップ百景で

気になったやつ やっぱnaoyaさんはすごいなー。 http://bb.watch.impress.co.jp/cda/desktop/17468.html Emacsってか。コマンドのみの操作。 http://bb.watch.impress.co.jp/cda/desktop/19359.html バーチャルデスクトップかー。 http://bb.watch.impress.c…

最近のトレンド

いくつかの記事を読んでいて最近のトレンドを感じたのがあった。 クラウドコンピューティング google sqlserverの人 amazon ec2 seasearのひがさんslim クラウド本 時代はクラウドの時代。webの仕事も環境構築がいらなくなる リアルタイム検索 twitterの勢い…

結局うちのサイトで使えそうなのは

AsyncのリクエストなくしてAd serverにする imageサーバ、ホスト名2台 minify js combine js and css gzip js and css bottom js css sprite ブロードメディアのExpiresが全部1weekってのはどうだろう。10年くらいでもいんじゃね。 ブロードメディアのETagを…

サイト解析

CSSで指定している画像をCSS sprite化する http1.0で並列処理。でもkeep-aliveあればhttp1.1のほうがいいよ。 googleではdeferを使用。jsあとで読み込め!ってやつ。 <script type="text/javascript" defer></script>

ルール14 Ajaxキャッシュを可能にする

パッシブリクエスト 将来的な必要性を見越して発行。次、使うでしょってために先にリクエストしておくもの アクティブリクエスト そのときに利用者のアクションに応じて発行 ここでは今までのルールがAjaxのXMLRequestでも同様に守られているかをチェック Ex…

ルール13 ETagの設定を変更する

2つ以上のサーバでホストしているとキャッシュの障害になる ETagとは エンティティタグ。キャッシュされてるコンポーネントの有効性を検証するたにブラウザとwebサバが使用する仕組み。 最終更新日よりも柔軟な仕組みを取り入れるために採用された 条件付き…

ルール12 スクリプトを重複させない

複数作業者でHTMLなど書いていると重複させてしまうこともある。 重複したjsがあれば、2度のダウンロード、実行がされる。キャッシュされてても、ページの更新(F5)では条件付GETで2度リクエストされることになる。 重複をチェックするようなコードを入れ込む…

ルール11 リダイレクトを避ける

リダイレクトもスクリプト同様に次のコンポーネントがダウンロードされるのを止めちゃう 末尾スラッシュの欠如 実はhttp:www.hmv.co.jp/musicはhttp:www.hmv.co.jp/music/にリダイレクトしてる。/を追加するためにね。 対応 Aliasで定義しておく 対応 mod_re…

ルール10 JavaScriptを縮小化する

縮小化 コメント、スペース、空白、改行取り除く。 ツール JSMin, ShrinkSafe, Dojo 難読化 縮小化したあとにさらに、変数名を一文字にしたり、1byteでも削る。 だだし難読化はバグを助長しやすい。 圧縮をするとさらに小さくなる 縮小化プラスgzip!これ最…

ルール9 DNSルックアップを減らす

DNSキャッシュはTTLを持つ。TTLはどれだけキャッシュしとくかって数値。でもこれとは別にブラウザは独自でキャッシュタイムを持ってる。 IE DnsCacheTimeout: 30min KeepAliveTime: 1min ServerInfoTimeout: 2min Firefox network.dnsCacheExpiration: 1min …

ルール8 js,cssファイルは外部ファイル化する

実はインラインのほうがHTTPリクエストは1回で済むからやっぱ高速なんだよね。 だけど、キャッシュできんだからやっぱ外部のほーがはやいじゃん。 サイトによって違うけど、原則としてはブラウザキャッシュがある状態でよくみられるサイトは外部でも問題ない…

ルール7 Css Expressionの使用は避ける

使わないよね。フツー。イベントめっちゃとらえるよ。

ルール6 jsスクリプトは最後に置く

スクリプトがダウンロードしてるときはほかのコンポーネントはダウンロードできない。スクリプトが書いてあるとそこから下のレンダリングはブロックされる。 ひとつのドメインに対してリクエストは2つまでしか受けれない。 imageサーバのホスト名をもうひと…

ルール5 スタイルシートは先頭に置く

プログレッシブ(逐次)・レンダリング 上から順番にロードし、レンダリングされていくことでユーザーにとってはプログレスバー代わりになる スタイルシートを下におくとこのプログレッシブ(逐次)・レンダリングができなくなる スタイルシートによってレンダリ…

ルール4 コンポーネントgzipにする

gzipもしくはdeflateで圧縮、deflateでの圧縮は今はほとんどない。キホンはgzipでいい。 HTMLのみでなくjs, stylesheetも圧縮すべき。 ただし画像とpdfはやっちゃだめ!なぜならすでに圧縮されてるから。CPUの無駄使いになる。 一般的に1〜2KBだったら圧縮す…

ルール3 Expiresヘッダを使う

Expiredをつけとくと、if-modifiedでチェックされる。 サーバにリクエストもされない。それはリクエストヘッダがブラウザで止まってレスポンスを返してる状態のことを言う。 だからリクエスト、レスポンス自体は見える。だけどブラウザだけローカルだけで終…