Hatena::Grouptech

id:rx7(@namikawa)の技術メモ このページをアンテナに追加 RSSフィード

過去記事一覧 | Main Blog (元RX-7乗りの適当な日々) | SBM (id:rx7のBookmark)

2010/07/24

ap-southeastからのtraceroute

| ap-southeastからのtraceroute - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - ap-southeastからのtraceroute - id:rx7(@namikawa)の技術メモ ap-southeastからのtraceroute - id:rx7(@namikawa)の技術メモ のブックマークコメント

ap-southeastリージョンのAmazon EC2インスタンスにてtracerouteを実行。

いくつか思いついたものだけ。ロサンゼルス経由のルートになっているものも有り。


続きを読む

トラックバック - http://tech.g.hatena.ne.jp/rx7/20100724

2010/07/23

Amazon EC2の各リージョンから日本国内へのネットワークレイテンシ

| Amazon EC2の各リージョンから日本国内へのネットワークレイテンシ - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - Amazon EC2の各リージョンから日本国内へのネットワークレイテンシ - id:rx7(@namikawa)の技術メモ Amazon EC2の各リージョンから日本国内へのネットワークレイテンシ - id:rx7(@namikawa)の技術メモ のブックマークコメント


レイテンシは「Amazon EC2/S3/他がアジア(シンガポール)で利用可能になったのでレイテンシを計測してみた - 元RX-7乗りの適当な日々」でも計測したのだけど、現在時点の各リージョンのEC2インスタンスから、日本のOCNトップとYahooトップにpingをうってみた結果。


続きを読む

トラックバック - http://tech.g.hatena.ne.jp/rx7/20100723

2010/07/17

RailsでのHTTPステータスコード定義箇所

| RailsでのHTTPステータスコード定義箇所 - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - RailsでのHTTPステータスコード定義箇所 - id:rx7(@namikawa)の技術メモ RailsでのHTTPステータスコード定義箇所 - id:rx7(@namikawa)の技術メモ のブックマークコメント

via. http://github.com/rails/rails/blob/v2.3.8/actionpack/lib/action_controller/status_codes.rb

$ ./script/console -s
Loading production environment in sandbox (Rails 2.3.8)
Any modifications you make will be rolled back on exit

>> ActionController::StatusCodes::STATUS_CODES
=> {500=>"Internal Server Error", 423=>"Locked", 412=>"Precondition Failed", 401=>"Unauthorized", 302=>"Found", 203=>"Non-Authoritative Information", 407=>"Proxy Authentication Required", 501=>"Not Implemented", 424=>"Failed Dependency", 413=>"Request Entity Too Large", 402=>"Payment Required", 303=>"See Other", 226=>"IM Used", 204=>"No Content", 507=>"Insufficient Storage", 408=>"Request Timeout", 100=>"Continue", 502=>"Bad Gateway", 414=>"Request-URI Too Long", 403=>"Forbidden", 304=>"Not Modified", 205=>"Reset Content", 409=>"Conflict", 200=>"OK", 101=>"Switching Protocols", 503=>"Service Unavailable", 426=>"Upgrade Required", 415=>"Unsupported Media Type", 404=>"Not Found", 305=>"Use Proxy", 206=>"Partial Content", 410=>"Gone", 300=>"Multiple Choices", 201=>"Created", 102=>"Processing", 504=>"Gateway Timeout", 416=>"Requested Range Not Satisfiable", 405=>"Method Not Allowed", 207=>"Multi-Status", 510=>"Not Extended", 422=>"Unprocessable Entity", 411=>"Length Required", 400=>"Bad Request", 301=>"Moved Permanently", 202=>"Accepted", 505=>"HTTP Version Not Supported", 417=>"Expectation Failed", 406=>"Not Acceptable", 307=>"Temporary Redirect"}

>> ActionController::StatusCodes::SYMBOL_TO_STATUS_CODE
=> {:not_extended=>510, :unsupported_media_type=>415, :no_content=>204, :locked=>423, :expectation_failed=>417, :processing=>102, :reset_content=>205, :failed_dependency=>424, :unprocessable_entity=>422, :not_found=>404, :ok=>200, :insufficient_storage=>507, :found=>302, :precondition_failed=>412, :not_acceptable=>406, :gateway_timeout=>504, :conflict=>409, :request_entity_too_large=>413, :accepted=>202, :length_required=>411, :use_proxy=>305, :request_timeout=>408, :unauthorized=>401, :temporary_redirect=>307, :requested_range_not_satisfiable=>416, :switching_protocols=>101, :payment_required=>402, :bad_request=>400, :created=>201, :partial_content=>206, :bad_gateway=>502, :non_authoritative_information=>203, :method_not_allowed=>405, :service_unavailable=>503, :not_modified=>304, :see_other=>303, :moved_permanently=>301, :gone=>410, :request_uri_too_long=>414, :continue=>100, :proxy_authentication_required=>407, :multi_status=>207, :upgrade_required=>426, :im_used=>226, :internal_server_error=>500, :http_version_not_supported=>505, :multiple_choices=>300, :forbidden=>403, :not_implemented=>501}
トラックバック - http://tech.g.hatena.ne.jp/rx7/20100717

2010/07/08

"MySQL server has gone away"のメモ

| "MySQL server has gone away"のメモ - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - "MySQL server has gone away"のメモ - id:rx7(@namikawa)の技術メモ "MySQL server has gone away"のメモ - id:rx7(@namikawa)の技術メモ のブックマークコメント

原因はいくつかあるようで、多くの場合は、タイムアウトして接続がクローズするケースのようですが、今日遭遇したのは、クエリのサイズオーバーの模様。(心当たり有)

設定値は、"mysqladmin variables"で確認する。

You can also get these errors if you send a query to the server that is incorrect or too large. If mysqld receives a packet that is too large or out of order, it assumes that something has gone wrong with the client and closes the connection. If you need big queries (for example, if you are working with big BLOB columns), you can increase the query limit by setting the server's max_allowed_packet variable, which has a default value of 1MB.

no title

間違ったクエリか大きすぎるクエリをサーバに送信した場合も、このエラーが発生する可能性があります。mysqld は大きすぎるか異常のあるパケットを取得すると、クライアントに何か問題が発生したとみなし、接続をクローズします。大きなクエリが必要な場合(たとえば、大きな BLOB カラムを使用している場合)、mysqld を -O max_allowed_packet=# オプション(デフォルト 1MB)で起動して、クエリ制限を引き上げることができます。拡張メモリは要求に応じて割り当てられます。そのため、mysqld は、ユーザが大きなクエリを発行するときや、mysqld が大きな結果レコードを返す必要のあるときだけ、メモリを増やして割り当てます。

no title

こちらもあわせて


参考

  1. 保持しているコネクションが、デフォルトでは8時間以上、やりとりが無かった時に切断される。PHP でコネクションプーリングしている場合が多い。
  2. ロジックの誤りでコネクションを閉じちゃっている場合。例えば、マルチスレッドのアプリケーションで、別のスレッドが閉じている、とか。
  3. クライアント側からタイムアウトが通知された場合。
  4. クライアント側の自動再接続機能が無効にされている状態で、サーバ側でタイムアウトが発生した場合。
  5. 巨大なクエリーや誤ったクエリーを投げた場合。
  6. INSERT や REPLACE で、大量の行をソートしなければいけないような場合。
  7. クライアントバージョンが 4.0.8 より古くて、サーババージョンが 4.0.8 以降の場合に、16MB 以上のパケットを送った場合。

稀なケースとして、

  1. 管理者が MySQL のサーバを止めちゃった場合。
  2. クライアントがサーバと別のホストで動いていて、接続するための権限を十分に持っていない場合。
  3. Windows の場合、たぶん、タイムアウトが起きてコネクションが閉じられたんだけど、OS から十分なエラー情報が得られないので、結果、このエラーメッセージになる。
  4. 5.0.19 よりで、自動再接続フラグが有効になっていても、うまく再接続出来ない場合がある。
  5. 名前解決に失敗しているケース。
  6. --skipe-network オプション付きでサーバが起動されている場合。
  7. アプリケーションの全ての子プロセスが、同じコネクションを使おうとしている場合。
  8. ファイヤーウォールで MySQL サーバが使うポートがブロックされた場合。
  9. クエリーを処理中のサーバが死んじゃった場合。
MySQL5.0.87を現在利用していて、「MySQL server has gone away… - 人力検索はてな
トラックバック - http://tech.g.hatena.ne.jp/rx7/20100708

2010/07/05

複数ファイル内の文字列を一括置換する

| 複数ファイル内の文字列を一括置換する - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - 複数ファイル内の文字列を一括置換する - id:rx7(@namikawa)の技術メモ 複数ファイル内の文字列を一括置換する - id:rx7(@namikawa)の技術メモ のブックマークコメント

環境の変更などで、複数の設定ファイルの一部文字列だけ、一括して置換したくなる場合のHOWTO。

$ for FILE in *.conf; do cp $FILE $FILE.bak; sed -e "s/置換前文字列/置換後文字列/g" $FILE.bak > $FILE; done

# 置換前のファイルは、".bak"で保存。↑はサンプルなので、適宜書き換えてください。

トラックバック - http://tech.g.hatena.ne.jp/rx7/20100705

2010/07/01

US ASCII CODE LIST

| US ASCII CODE LIST - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - US ASCII CODE LIST - id:rx7(@namikawa)の技術メモ US ASCII CODE LIST - id:rx7(@namikawa)の技術メモ のブックマークコメント

+---------+---------+---------+---------+
|CHAR HEX |CHAR HEX |CHAR HEX |CHAR HEX |
+---------+---------+---------+---------+
|NUL  0x00|SP   0x20|@    0x40|`    0x60|
|SOH  0x01|!    0x21|A    0x41|a    0x61|
|STX  0x02|"    0x22|B    0x42|b    0x62|
|ETX  0x03|#    0x23|C    0x43|c    0x63|
|EOT  0x04|$    0x24|D    0x44|d    0x64|
|ENQ  0x05|%    0x25|E    0x45|e    0x65|
|ACK  0x06|&    0x26|F    0x46|f    0x66|
|BEL  0x07|'    0x27|G    0x47|g    0x67|
|BS   0x08|(    0x28|H    0x48|h    0x68|
|HT   0x09|)    0x29|I    0x49|i    0x69|
|LF   0x0a|*    0x2a|J    0x4a|j    0x6a|
|VT   0x0b|+    0x2b|K    0x4b|k    0x6b|
|NP   0x0c|,    0x2c|L    0x4c|l    0x6c|
|CR   0x0d|-    0x2d|M    0x4d|m    0x6d|
|SO   0x0e|.    0x2e|N    0x4e|n    0x6e|
|SI   0x0f|/    0x2f|O    0x4f|o    0x6f|
|DLE  0x10|0    0x30|P    0x50|p    0x70|
|DC1  0x11|1    0x31|Q    0x51|q    0x71|
|DC2  0x12|2    0x32|R    0x52|r    0x72|
|DC3  0x13|3    0x33|S    0x53|s    0x73|
|DC4  0x14|4    0x34|T    0x54|t    0x74|
|NAK  0x15|5    0x35|U    0x55|u    0x75|
|SYN  0x16|6    0x36|V    0x56|v    0x76|
|ETB  0x17|7    0x37|W    0x57|w    0x77|
|CAN  0x18|8    0x38|X    0x58|x    0x78|
|EM   0x19|9    0x39|Y    0x59|y    0x79|
|SUB  0x1a|:    0x3a|Z    0x5a|z    0x7a|
|ESC  0x1b|;    0x3b|[    0x5b|{    0x7b|
|FS   0x1c|<    0x3c|\    0x5c||    0x7c|
|GS   0x1d|=    0x3d|]    0x5d|}    0x7d|
|RS   0x1e|>    0x3e|^    0x5e|~    0x7e|
|US   0x1f|?    0x3f|_    0x5f|DEL  0x7f|
+---------+---------+---------+---------+
           US ASCII CODE LIST

via. http://homepage1.nifty.com/pokke/pdocs/pd7.html

トラックバック - http://tech.g.hatena.ne.jp/rx7/20100701