はてなキーワード: DaemonToolsとは
定期的に実行するのにcronを使うのではなくlaunchdって言い方が何も解ってなさそうだよなあ
launchdはdaemontoolsみたいなやつWindowsで例えるならサービスなんだからcronをdaemontoolsにしてもいいしサービスにしてもいいんだよね
はてな記法とか無視で読みにくいですがゴメンナサイ。
かいたひと→http://twitter.com/chobi_e
follow/unfollowはご自由にどうぞ。
うん、次なんか書くまでにはブログ用意しておこう。
===============
会社としてもOpenSocialに関わってるし、個人でもちょいちょい
勉強がてらに手を出しているので参加させていただきました。
会場を提供してくださったコンテンツワンさんありがとうございました。
http://www.contents-one.co.jp/
ほいではメモの公開。
聞き逃しや誤記もあるかと思うので参照はほどほどに。
=============================
mixi機能の紹介とOpenSocialAPIリファレンス的な説明。
あとは公開するのは微妙なので割愛。
PHPでWEB開発を行うようにしてオープンソーシャルアプリを作る(@KuniTsuji)
=======================================================================
CodeIgniterを使ってのmixiアプリ構築についてのお話。
OpenSocial開発しているので全て既知の情報だったので
メモがありません。ゴメンナサイ。
要約するとPCはつくるのめんどいけどモバイルだとぺらいちで済むし、
運用した気になるモバイルオープンソーシャル (@cocoitiban)
=========================================================
ウノウさんは社員募集中、@cocoitibanは彼女募集中!
@cocoitibanのお仕事
映画生活(ピアに売却)、フォト増、clipp、まちつく
・まちつくについて
位置ゲー、もともとふつうのモバイルアプリとして提供していた。(ユーザー数非公開)
・リリース前
・社長がやりたい→同僚がすごい勢いで作成。@cocoitibanは横で傍観
(モバイルOpenSocialって元のサービスがあれば結構勢いですぐ作れるんですよね。)
・ロードアベレージ1000でも登録できるんだー
そして、当然のように他社を含め登録ができなくなるw
・初日から1週間は1日10万のペースで増えた
・mixiに登録しているユーザーだからまちつくに登録という意識は低いっぽいですが
・ウノウには3時間で画像生成をキュー処理に書き換えたやつがいる
・ボトルネックになりそうなものを全部退治
・ハードウェア確実に足りないので購入進める
・二日目、三日目と同じように+10万人ってトラフィックをさばかなきゃいけない
・リリースから今まで
・初期(パフォーマンスアップ)
・回線が足りなくなりつつあることに気がつく100Mなのに・・・
・決めてから1週間くらいでリリース
・Memcached適用範囲を増やす
・一部機能を企画レベルで見直しふかがひくなるかつ、よりよい動作へ。
・初期パフォーマンスアップ
・L7ロードバランサふやす
・DBマスタ分割
クエリはチューニングされていてCPUやDisk ioのreadはすかすかだけどWriteが痛い事に
・ORMの機能をつかって分割
・トランザクション上影響ないものを分割
・サーバー台数的にはそんなにない。
・中期
・ちょっとだけいいサーバーに置き換え
→あっさり解決
・本格的な機能改善
ユーザーに不便かけてる機能とかを大幅見直し
・社員数増員
・8Fに追加して4Fに事務所を移すことに
・引っ越し大変でした
・可能な限り早くしたかったがユーザーに不便をかけている段階ではリリースできなかった。
・中期
・一部処理をQ4Mに置き換え
・EC2とはおわかれできた
・EC2は悪くないがサーバーがある現状ではコスト間と運用の体制のにゃー(メモ終わる前に次のページへ)
・まとめると
・数ヶ月、数人のエンジニアでおこなわれたので長短納期
・力業だが安定志向を目指す方がいい
・変わったことやると大体トラブって死ぬ
・しかし新しい事やらないと間に合わない
[そのほかメモ]
・Q4M
・Gearman
・ActiveMQ
・自前で実装
・そのほかいいのがあれば
・キュー処理っているの?
・実装クイズ
・Friends1000人いて全員取りに行く場合どうする?
・キャッシュとして定期的に削除しなきゃだめ
・いや1000人とってきちゃおうよ
・トラフィックの波が激しい
・流入云々でかなり違う
・分散のネックはやはりデータベース
・ORMは使うべき
・流行るか流行らないか分からないサービスをつくる場合には必要
・はやった場合にすぐ分割できるか
・トランザクションがネックになる
・XAトランザクション
・トランザクションを正しく処理できるか
・KVSとの透過性
・逆をいえば上記はコードを綺麗にかけるかどうかなので使わなくてもいいと思う
・エンジニアとして思ったこと
・EC2はありだけど運用がイントラで運用するのとは違う形になるので経験が必要だと感じた。
・AmazoRDSが別の地域で使えるようになるといいなぁ。
・どきどきするのが課金。コストをいやいやでもエンジニアが意識せざるを得なくなる
・かなりはやい
・半年1年後、国内レベルのトラフィックであれば大半のWEBサービスは1台でおk
・ip_conntrack/iptable
・ulimit
・Symfony使ったけどそんなボトルネックにならなかった的な話。
・バッチ処理とかforkで悩むことが多い
# 総評
最近はめっきり大きなトラフィックを扱うことがなかったからちょっと刺激もらえました。
前の会社ではサーバー200台くらい管理してたけど今の会社では数十台程度だし、
そこまでトラフィックもこないのでサーバーエンジニアとしては体たらく気味。
まぁ、業務的には様々な方面でやっているので仕方のない事ですが。
とりあえず現状で出しておいて流行したら確実に死ぬ&寝れなくなるので事前に
震える子鹿のようにただビールをひたすら飲むのでありました。
そんな私に声かけてくださった皆様、ありがとうございます。
お名前/ID出していいのか微妙なので割愛させていただきますが、感謝感動雨あられでございます。
そうそう、個人的には今の流行がTwigなので@cocoitibanともうちょっと
お話したかったですが懇親会LTもありーの、飲み過ぎて気持ちわりーので実現せず。
Twigすごく良いとは思うんだけどいまいちドキュメントが少ないので
本当にこれでいいんか?て思うことが結構あるのよねー。
Node周りの実装がぱっと見分かりづらいので難儀。
そいじゃ会社いってきまー
[admin@sakura2 ~]$ uname -a Linux sakura2 2.6.9-67.0.4.ELsmp #1 SMP Sun Feb 3 07:08:57 EST 2008 i686 athlon i386 GNU/Linux [admin@sakura2 ~]$ cat /etc/issue.net CentOS release 4.6 (Final) Kernel \r on an \m
# yum update # yum remove emacs emacspeak emacs-leim emacs-common # yum remove NetworkManager # yum remove bluez-bluefw bluez-hcidump bluez-libs bluez-utils # yum remove cups cups-libs # yum remove irda-utils isdn4k-utils pcmcia-cs wireless-tools # yum remove wpa_supplicant gpm xinetd # yum remove ppp nfs-utils lksctp-tools autofs # yum remove xorg-x11-libs # yum remove selinux-policy-targeted # yum remove vsftpd # yum clean all
[admin@sakura2 ~]$ uname -a Linux sakura2 2.6.9-67.0.7.ELsmp #1 SMP Sat Mar 15 06:54:55 EDT 2008 i686 athlon i386 GNU/Linux
# rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-notes-5.1.0-2.i386.rpm \ http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-5-1.0.el5.centos.1.i386.rpm [root@sakura2 admin]# cat /etc/issue.net CentOS release 5 (Final) Kernel \r on an \m # yum update glib procps udev iptables # rpm -Uvh --nodeps http://mirror.centos.org/centos/5/os/i386/CentOS/initscripts-8.45.17.EL-1.el5.centos.1.i386.rpm \ http://mirror.centos.org/centos/5/os/i386/CentOS/mkinitrd-5.1.19.6-19.i386.rpm # rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-1.39-10.el5.i386.rpm \ http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-libs-1.39-10.el5.i386.rpm \ http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-devel-1.39-10.el5.i386.rpm
# rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/kernel-2.6.18-53.el5.i686.rpm
[admin@sakura2 ~]$ uname -a Linux sakura2 2.6.18-53.el5 #1 SMP Mon Nov 12 02:22:48 EST 2007 i686 athlon i386 GNU/Linux # yum clean all [root@sakura2 admin]# yum --version Loading "fastestmirror" plugin 2.4.3 [root@sakura2 admin]# rpm --version RPM version 4.3.3
# yum update Error: Missing Dependency: python-abi = 2.3 is needed by package python-elementtree
# vi /etc/ssh/sshd_config # /etc/init.d/sshd restart
# vi /etc/yum.repos.d/dhozac-vserver.repo
# yum update kernel # yum install util-vserver{,-core,-lib,-sysv,-build}
[admin@sakura2 ~]$ uname -a Linux sakura2 2.6.22.19-vs2.3.0.34.1 #1 SMP Mon Mar 17 05:32:04 EDT 2008 i686 athlon i386 GNU/Linux
# yum update bash screen rsync # /etc/init.d/iptables save # /etc/init.d/iptables start # cat /etc/sysconfig/iptables # Generated by iptables-save v1.3.5 on Mon Mar 24 19:57:07 2008 **filter :INPUT ACCEPT [1067:96557] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [63680:6208436] :e0 - [0:0] -A INPUT -i eth0 -j e0 -A e0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A e0 -p icmp -m icmp --icmp-type 8 -j ACCEPT -A e0 -p tcp -m tcp --dport 22 -j ACCEPT -A e0 -p tcp -m tcp --dport 80 -j ACCEPT -A e0 -p tcp -m tcp --dport 443 -j ACCEPT -A e0 -j REJECT --reject-with icmp-port-unreachable COMMIT # Completed on Mon Mar 24 19:57:07 2008 # Generated by iptables-save v1.3.5 on Mon Mar 24 19:57:07 2008 **nat :PREROUTING ACCEPT [179:10642] :POSTROUTING ACCEPT [213:13895] :OUTPUT ACCEPT [251:16220] -A PREROUTING -s ! 10.0.0.0/255.255.255.0 -p tcp -m tcp --dport NNNN -j DNAT --to-destination 10.0.0.1:22 -A POSTROUTING -s 10.0.0.0/255.255.255.0 -d ! 10.0.0.0/255.255.255.0 -j SNAT --to-source AAA.BBB.CCC.DDD COMMIT # Completed on Mon Mar 24 19:57:07 2008
[root@sakura2 ~]# /usr/sbin/vserver-stat CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME 40013 27 301.5M 73.8M 30m36s31 56m38s90 11d06h56 one 40015 5 10.8M 4.4M 0m28s33 0m12s68 9d04h23 two 40016 2 4.2M 1.3M 0m00s47 0m00s64 0m01s97 three