サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
terutomi.seesaa.net
ソフトウェア開発のお仕事メモや、フェイキックIOLの手術体験談をマイペースに残していました。 もうあの頃へは戻れない・・・ [MySQL]GeoMetry型を使う(WKT形式を使ったSET/GET)で投稿した GeoMetry関連のMyメモです。 GeoMetry型のカラムには(当然ですが)空間情報が入っています。 例えば、学校などがわかりやすいでしょうか? 「○○学校」のPOINT(位置)情報やPOLYGON(学区)情報を MySQLで管理できるわけです。 これらを検索条件としたいケースがおのずと出てきますが、 普通にWHERE条件とすることはできません。 専用関数を使う必要があります。 以下は、「最小外接矩形(MBR)における関係」より抜粋したものです。 ■MBRContains(g1,g2) 1 または 0 を返すことにより、g1 の最小外接矩形に g2 の最小外接矩形が 含まれてい
ソフトウェア開発のお仕事メモや、フェイキックIOLの手術体験談をマイペースに残していました。 もうあの頃へは戻れない・・・ 自分が担当しているシステムで、MySQLサーバに接続できなくなる 障害が発生しました。 MySQL-DBに「接続→更新→切断」を行うXML WEBメソッドを 繰り返し数千件コールしていた、という状況です。 今日はひたすらこの調査。 結論としては、 「MySQLが使えるポートを使い果たしてしまった」 のが原因でした。 直接のヒントになったのが以下のスレッドにある回答です。 [Insert 毎に接続・切断を繰り返すと不特定な場所でエラーが発生する] MySQLはTCPで接続を行うため、接続時に空いているポートを割り当てるようです。 実際、障害条件となる繰り返し接続中、サーバ上でNETSTATコマンドをかけると 使用済みの TIME WAIT状態となったポートを大量に確認で
ソフトウェア開発のお仕事メモや、フェイキックIOLの手術体験談をマイペースに残していました。 もうあの頃へは戻れない・・・ ええと、今厄介な問題にぶつかっています。 とあるXML WEBサービスを.NETで開発したのですが、 たまに(負荷が集中すると)おかしな状況になります。 例えば、シングルトンで持っている static オブジェクトの フィールドがふっとんでしまいます。 スコープ内のオブジェクト変数がnullになったり、 挙動が不審・・・ さて、ここからはASP.NETのセッションステートプロセスモデルのお話です。 ASP.NETのセッションプロセスモデルは、以下の3タイプがあります。 ・InProc(インプロセス) ・StateServer(ステートサーバー) ・SQLServer(SQL Server) よく言われている話で、前者ほど高速だが信頼性が低いとのことです。 InProc
ソフトウェア開発のお仕事メモや、フェイキックIOLの手術体験談をマイペースに残していました。 もうあの頃へは戻れない・・・ MySQL(3.23時代)は貧弱なスペックの端末でも動くように、 既定値でメモリを最小限に使う設定になっているようです。 インターネット公開の運用となると、これでは 性能がフルに発揮できていません。 チューニングが必要なわけです。 で、お手軽なチェック項目としては以下の設定を 見直すのが良いかと。 ・key_buffer_size ・table_cache ・record_buffer ・thread_cache_size とりあえず、私の開発環境(メモリ512MB)で試した 設定例が以下です。 ~~~~~ [mysqld] #(略) set-variable=key_buffer_size=256M set-variable=table_cache=256 set-
ソフトウェア開発のお仕事メモや、フェイキックIOLの手術体験談をマイペースに残していました。 もうあの頃へは戻れない・・・ MySQLの4.1以降で、GeoMetry型という空間情報を扱うデータ型が 導入されています。 GeoMetryデータをAscii文字列によりやり取りするための記述として、 Well-Known Text(WKT)形式というフォーマットがあります。 (中には、バイナリ(WKB)派の人もいると思います。が、もしコンポーネントのI/Oとして 使う場合、ユーザインタフェースとしては直感的にわかるWKTが良い気がします) 以下は、WKT形式で空間情報を表現した例です。 [ジオメトリオブジェクトの WKT の例より] Point: POINT(15 20) 注意: Point 座標はカンマなしで指定される。 Point が 4 つある LineString。 LINESTRIN
ソフトウェア開発のお仕事メモや、フェイキックIOLの手術体験談をマイペースに残していました。 もうあの頃へは戻れない・・・ 本日、ガツガツとinsert文を流しまくってテストしていたら、 ある時MySQLから 「Duplicate entry '...' for key ...」 というエラーメッセージが返ってくるようになりました。 どうもauto_incrementのkeyの値がおかしくなったみたいです。 で、よくよくログを見てみると、上記エラーになり始める直前に 「Incorrect key file for table: '...'. Try to repair it」 というエラーメッセージが返ってきました。 早速ググってみると、以下のページがヒットしました。 [MyISAM テーブルが破損した場合] こいつはヤバイ・・・ただごとじゃ済まない感じ。orz 状況は、「check ta
このページを最初にブックマークしてみませんか?
『ソフトウェア開発技術者として逝きたかったです (c)てるとみ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く