キモブロ

Please spy check please, Fucking retard

Unix

新VPS「ConoHa」使ってみた

↑これです。お名前.comやってるところの新しいVPSサービスって感じかな。違いは知らない。 http://www.conoha.jp/早速使ってみた。cpuinfoはこんな感じ processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CP…

趣味サーバー を ruby 1.9.3-p448 にアップデートして再構築した

最新のRubyが出てたので再構築しなおした。ついこないだ同じようなアップデートしたばっかだけど。こないだの記事 → 趣味サーバーで使ってるWEB系ソフトウェアをいろいろアップデートした - キモブロ 特に意味なし。趣味です。以下手順。 最新のRubyを入れる…

さくらVPS SSDプランが、7/3から無料でメモリ2倍になるそうなのでやってみた。

なんか無料でメモリ2倍になるらしいのでやってみた! すでに契約済みの人は再起動する必要があるらしい。再起動するだけでメモリが2倍になる!! 以下公式サイトから引用 弊社では、さくらのVPS「SSD 1G」「SSD 2G」プランにおいてメモリ容量を増量する スペッ…

趣味サーバーで使ってるWEB系ソフトウェアをいろいろアップデートした

まずrbenv + rubyの更新から。 rbenvの更新 $ cd ~/.rbenv/plugins/ruby-build/ $ git pull rubyの更新 今の1.9系の最新は1.9.3-p429らしいのでこれ入れる。そろそろ2.0系に対応させるかなー。互換性あるとか書いてあった気がするけどたしかiconvなくなって…

zsh で git コマンドのタブ補完してくれるやつの git 公式のやつのインストール方法

zshでバリバリgitの補完したいときのやつのインスコ方法。てかもうみんなやってますよね感高いし、今更感高いけど、整備されてるかとおもいきや結構入れるのめんどかったのでメモ。 なんかgitのgithubリポジトリ(わかりにくい)のcontribからいろいろダウンロ…

sshの秘密鍵から公開鍵を作る方法とフィンガープリント見る方法

.ssh/id_rsa だけあるときに id_rsa.pub 生成する方法 $ ssh-keygen -y -f .ssh/id_rsa > .ssh/id_rsa.pub フィンガープリントを確認する方法 $ ssh-keygen -l -f .ssh/id_rsa.pub 2048 d9:33:2e:c0:15:e2:fc:d7:55:f9:00:5c:60:11:72:d7 (RSA)

作業用の一時ディレクトリをサクッと作って勝手に移動してくれるやつ

.bashrc か .zshrcに以下を追加 function temp(){ cd `mktemp -d --tmpdir="$HOME/tmp/" \`date +'%Y%m%d'.$1${1:+.}\`XXXXXX` } 使い方 tempって入力してEnterキー押すと勝手に一時ディレクトリが生成されてそこに移動するので、そこでwgetしたりとかいろん…

OOM Killerの対象外にするプロセスって指定出来たんだ。

Linuxキーワード - OOM Killer:ITproこれ使えば危機的な状況になりにくい気がする

cp -rするときに指定したフォルダを除外する方法

rsync -avz --delete --exclude "path/to/dir" ./from_dir/ to_dir/

0バイトのzipファイルをMacの解凍ソフトで展開すると200Bのcpgzファイルが生まれる

手順 $ touch ./nothing.zipこのnothing.zipをUnArchiverとかで展開するとnothing.zip.cpgzが生まれるこれを表示してみると $ xxd ./nothing.zip.cpgz 0000000: 1f8b 0800 0000 0000 0003 3330 3700 4164 ..........307.Ad 0000010: 6002 e59b 9b99 8228 231…

仕事: HDDサイズの警告メールが割と頻繁にとんでくるようになったので対策した

過去30日以前に作成されたバックアップファイルをcrontabで削除する感じにした。こんなかんじで 25 1 * * * /usr/bin/find /path/to/backup/dir -ctime +30 | xargs -r rm xargs -0のイディオムはあえて使ってない。どうせそんなファイル名にならないことが…

さくらVPSでループバックインターフェースに対してUDPパケット送信しまくるとロスしまくる件のつづき

sysctlで net.ipv4.udp_mem のバッファサイズを増やしてみたが駄目だった。 まぁ前の記事の通り、ループバックインターフェースだけでなくて外部からやっても似たような感じだったので、根本的な何か別の問題がありそうなんだけど。引き続き要調査

再開したさくらクラウドを使ってみた & 性能検証してみた

11/1日から再開したらしいので試しに使ってみた。とりあえず一番安そうなプランを選ぶ。1コア + メモリ2GB + HDD20GBで月2500円くらい。だいぶ安い。さっそく/proc/cpuinfoをみてみたところXEONの3.0Ghzらしい。俺の利用用途であるゲームのサーバーだと1コア…

Content-Dispositionで-iってファイル名指定すると

wget --content-dispositionしたときに-iって名前でファイルが保存されてしまったりするのでシェルスクリプトで自動化するときは注意が必要っぽいrm ./* とかね

wgetの--content-dispositionが脆弱じゃないことを確認した

これ実は脆弱で任意のファイル上書きできちゃうんじゃねって思って調べたけど大丈夫だった。 たとえば以下みたいな感じで./tmp/hogehoge.txtってpathのContent-Dispositionに設定しても、hogehoge.txtってのがカレントディレクトリに生成されるだけ。 #!/bin…

wgetでContent-Dispositionに書いてあるファイル名でダウンロードする方法

自分も知らなかったけど、--content-dispositionってのをオプションに付加するとそうなるらしいですね。 Content-Disposition - オレの劣化が止まらない $ wget http://github.com/mikecrittenden/bluetrip/tarball/master # masterって名前でファイルが保存…

gzip --fast ./path/to/your/file

圧縮率低いけどその分高速なモードの--fastか-1

せっかくだしメモリにキャッシュされてるか確認するやつRubyで実装してみたが駄目っぽい

何が駄目なのかわらかないけど諦めた。vecのあたりが駄目な気がする。というかもうInline::Cを使ったほうがよさげ。 #!/bin/env ruby # encoding: utf-8 # Author: kimoto path = "test.txt" size = File.size(path) fd = File.sysopen(path) printf("size: …

ファイルがメモリにキャッシュされるってのは、mmapするときに第一引数でNULLを指定することによって、カーネルにおまかせすることによって、よしなにキャッシュすることが出来てるってことかな

メモリ上にキャッシュされてるかどうか調べるやつ

これまじ面白いなー ファイルがページキャッシュに乗っているかどうかを調べる - ablog指定したファイルがメモリ上でキャッシュされてるか調べられるというもの。しかし、どうやってんだろってことでソースを読んでみた。 結論から言うとmmapとmincoreで調べ…

MySQLでデッドロックしてやり直すパターン

会社で書き忘れたけど、表題のもテストしたら800req/secぐらいだった #!/bin/env ruby # encoding: utf-8 # Author: kimoto require 'mysql2' require 'digest/md5' client1 = Mysql2::Client.new(:host => "localhost", :username => "root", :password => …

nginx

$ ab -n 10000 -c 10 http://localhost/ (前略) Requests per second: 20486.39 [#/sec] (mean) (後略)

MySQLのテーブルをENGINE=MEMORYにして再度実行してみる

ENGINEをMEMORYにするとOn Memoryになるっぽい。ただし再起動でデータ消える。 あとENGINEがMEMORYだとTEXT/BLOBが使えないみたいなのでschemaをVARCHARに修正 create table tinyurl( id INT(11) NOT NULL AUTO_INCREMENT, shorturl VARCHAR(64) NOT NULL, u…

MySQLのBenchmark

結果 >>> mysql insert speed 0.388512 seconds 2573.923070587266 req/sec >>> mysql select speed 0.106831 seconds 9360.578858196592 req/sec >>> mysql not found select speed 0.089786 seconds 11137.593834228053 req/secinsertが重いupdateやるの忘…

MemcachedのBenchmark

結果 >>> memcached Set Speed 0.058632 seconds 17055.532814845137 req/sec >>> memcached Get Speed 0.070763 seconds 14131.678984780181 req/sec >>> memcached Not found Get Speed 0.046901 seconds 21321.50700411505 req/secローカルのMacBookでヤ…

プロセスを指定のCPUに割り当てる方法

tasksetコマンドを使うらしい。 https://access.redhat.com/knowledge/docs/ja-JP/Red_Hat_Enterprise_MRG/2/html/Realtime_Reference_Guide/chap-Realtime_Reference_Guide-Affinity.html $ taskset -p -c PID pid PID's current affinity list: 0,1 ってや…

前やってた案件の開発系のHDDが圧迫されてたんだけどgem cleanしたら解決した

過去のバージョンのgemがトータルで5GBぐらいあったっぽい

grepの--excludeはディレクトリにマッチしないので--exclude-dirを使ったほうがいいらしい

12:39 tokuhirom: ふと 12:39 tokuhirom: http://kimoto.hatenablog.com/entry/2012/08/15/154624 12:39 tokuhirom: これためしてみたんですが 12:40 tokuhirom: --exclude=".git" っていう指定、きいてない気がする 12:40 tokuhirom: ./.git/rr-cache/26345…

SSD使ってたらある時を堺にmd5sumコマンドの返却値がランダムになったギョエー

なんかサーバーサーバープロセスが突然死するしどうなってんだと調査してみたところ、ゲームのデータファイル(80MB)のmd5sumを測定するたびに毎回異なる値が帰ってきた。何を言ってるかわからねぇと思うが実際にそういうことが起きていた。ちなみに再起動し…

curlが$?にちゃんとエラーコードを設定してくれない件の解決策

常に$?が0になるのに困っていたんだけど、failオプションつけるとちゃんとエラーコード設定されるようになった。 ~$ curl --fail -I http://kymt.me/not_found_path curl: (22) The requested URL returned error: 404 ~$ echo $? 22