ブックマーク / blog.nomadscafe.jp (13)

  • apachectl -k restart は stop && start じゃないので気をつけましょう - blog.nomadscafe.jp

    Apacheを起動するときに使う事もある apachectl の -k restart は stop && start ではないので注意しましょう。 ServerLimitやThreadLimitなどの一部の設定は、restart では適用されず、stop && start が必要になります。 apachectl は実はshellscriptで出来ています。中をのぞくと #!/bin/sh .. HTTPD='../httpd' .. start|stop|restart|graceful|graceful-stop) $HTTPD -k $ARGV ERROR=$? ;; と書かれています。restartはhttpdコマンドにそのまま渡されるようです。 そこでhttpdコマンドのドキュメントを読むと詳しくは Stopping Apache httpd http://httpd.apach

    asakura-t
    asakura-t 2013/02/01
  • YAPC::Asia 2012 で発表してきました!日本よ、これが #yapcasia だッ!! - blog.nomadscafe.jp

    5.6!5.6!5.6! 今年も無事にYAPC::Asiaに参加と発表させて頂く事が出来ました。牧さん、941さん、JPAの皆様、ボランティアの皆様、参加した全てのPerl Mongersに感謝です。 今年の発表は、去年のこの時期にやっていたlivedoor Blogのサーバ集約作業とその為につくったツールや自動化について紹介させて頂きました。 質問でも出てきた「作成した移行スクリプトの検証」ですが、メンテナンス時間内にデータベースのコピーが完了するかどうかの検証とあわせて、実際に実行して確認していました。今にして思えばdry-runモードを作ってテストケース書いて確認するぐらいやってもよかったかもしれません。次回(があれば)チャレンジしたいです。 もう一つ言い忘れてましたが、mysql40dumpはMySQL 5.1、5.5でも検証済みで弊社でもヘビーにサーバ運用に使っています。自動でm

  • レプリケーション作成を簡単にする mysql40dump という mysqldump の wrapper を作った話 - blog.nomadscafe.jp

    みなさん mysqldump は好きですか? 自分はどっちでもありません。 MySQLでよくあるMaster-Slave構成を作る手順は以下のようになると思います MasterからSlaveとなるサーバに一貫性を保った状態のコピーをし、そのデータのバイナリログのファイル・ポジションをメモ。 SLAVEでデータをリストアし、Masterのホスト名、レプリケーションに使うユーザ名・パスワードとメモしたバイナリログのポジションをCHANGE MASTER文に渡し、START SLAVE 一貫性の取れたコピーを作成するためにmysqldumpやxtrabackup、LVMなどでのスナップショットが利用できますが、もっとも簡単な方法がmysqldumpだと思います。 mysqldumpで一貫性のあるデータをとり、その際のバイナリログポジションを記録するには $ mysqldump --single-

    asakura-t
    asakura-t 2011/12/22
  • 3.11 新宿から横浜まで歩いて帰ってきた - blog.nomadscafe.jp

    少し時間が経ってしまったけど。 地震のあと、息子の保育園お迎えに少しでも早く行ってあげたいと思っていたのですが、オフィスからみえる新宿駅西口、東口両方とも人で溢れかえっていて、もし電車が復旧したとしてもとても乗れないだろうなということで歩いて帰ることにした。もし途中で東横線が走り出せばいいなということも考えていたりもしたけど、それは甘すぎました 実際に歩いた場所をGoogle mapで表示してみると、30kmぐらいあるそうです。フルマラソンより短いです。かかった時間はGoogleの予測の時間通り、6時間強ぐらいでした。 大きな地図で見る twitterの投稿を見返すと、 歩き始めたときのtwitterへの投稿が16:12。 池尻のあたりで 17:23。ここまで田園都市線沿いの同僚と一緒にあるいていました 祐天寺のあたり 17:52 学芸大のあたり 18:01 環七通り 18:20 大岡山

    asakura-t
    asakura-t 2011/03/23
    東横沿線沿いか。。。あちらの道はどんな感じなんだろ。// 僕は道に迷う自信があったので(暗くなってると特に)国道1号沿いに歩いた。途中で15号に抜けたほうが楽だったっぽい。
  • 運用におけるエラーログの重要性もしくはLog::Minimalってモジュール書いた話 - blog.nomadscafe.jp

    追記 CPANにアップしました http://search.cpan.org/dist/Log-Minimal/ /追記 アプリケーションサーバでエラーが起きていたり、レスポンスが遅かったりする場合に、Operation Engineer(インフラエンジニア)がまず見るのは、エラーログです。エラーログにでているメッセージを手がかりに原因を探ります。 サーバでエラーが起きている時には、データベースに接続ができなかったり、外部のAPIからレスポンスが得られない、またプログラムのBugが原因となっている場合もあるでしょう。またエラーにならなくても、複数台あるデータベースのスレーブサーバうち一台が落ちて接続をretryしていたり、APIのレスポンスが遅い際にはサーバ全体のパフォーマンスが低下します。 エラーログに障害の原因を探る情報があれば、Operation Engineerは素早く対応を開始で

    asakura-t
    asakura-t 2010/10/21
  • プロのサーバ管理者がApacheのStartServers, (Min|Max)SpareServers, MaxClientsを同じにする理由 - blog.nomadscafe.jp

    kazuhoさんが「プロのサーバ管理者の間では存在価値が疑問視されて久しい (Min|Max)SpareServers だと思う」と書いたり、hirose31さんが去年のYAPC::Asiaで{Start,{Min,Max}Spare}Servers,MaxClientsは同じにしているよと発表したり、実際前職のサーバはそのように設定されていたのですが、自分でうまく説明ができてなかったので、調べながら書いてみた。 当はイントラブログ用に書いていたものですが、がんばったので転載。 前提として、CPUの使用率におけるsystemとfork Re: クラウドがネットワークゲーム開発者にもたらしてくれたもの - blog.nomadscafe.jpでも書いている通りforkってのはサーバにとって重い部類の処理になります。つまり負荷の高いときにforkを大量に行うのはしてはならないことの1つです。

    asakura-t
    asakura-t 2010/09/01
  • memcachedのプロトコル変更の件 - blog.nomadscafe.jp

    memcachedに依存するシステムやコードを書く人は大嫌いな訳だけど、スケーラビリティを向上させてレスポンス時間の高速化には必須なmemcachedですが、最近のプロトコル変更には疑問を感じてしまう。 1.4.0では、こちらに書いた通り、いつの間にかdeleteのtimeoutがサポートされなくなった。なので、 delete key timeout noreply というコマンドが無効になって困ることになった。それでも delete key timeout というコマンドは、timeoutにどんなも文字列が入っていてもエラーになることはなかった。timeoutは効かないけど。 ここから1.4.4ではさらに悪化。timeoutが0でないとエラーになるようになった。つまり delete key 0 noreply delete key 0 は有効なんだけど、 delete key 10 がエ

    asakura-t
    asakura-t 2010/02/09
  • リポジトリみれるようにした。 : blog.nomadscafe.jp

    リポジトリみれるようにした。 リポジトリを公開することにした。 全部じゃないけど。 ここ CPANにあげてたりあげてなかったりするPerlモジュールと、ちょっとアプリケーション。 Blogに書いていたものとか、整頓しながら増やしていく予定。 ディレクトリ構成とかはid:typesterさんが公開されているリポジトリを参考にしました。

    asakura-t
    asakura-t 2006/05/12
  • Catalystでユーザページ : blog.nomadscafe.jp

    Catalystでユーザページ Femoでのユーザページのコード。 Femo::Controller::Userというコントローラで実装している。 同じ正規表現が繰り返しているのでもうすこしなんとかならないかと package Femo::Controller::User; use strict; use warnings; use base 'Catalyst::Controller'; sub auto : Private { my ( $self, $c ) = @_; $c->stash->{view} = $c->model('Users')->retrieve(publish_id=>$c->req->snippets->[0]); if( !$c->stash->{view} ) { $c->res->status('404'); $c->res->output('Not F

    asakura-t
    asakura-t 2006/04/28
    catalystの勉強中なので、参考に。どっかに手頃なサンプルアプリが転がってないですかね……。
  • メモ&カレンダーWebアプリケーションつくりました。 : blog.nomadscafe.jp

    メモ&カレンダーWebアプリケーションつくりました。 Tagがつけられるメモ帳Webアプリケーションをつくってみました。次のキラーアプリらしいカレンダー機能もついています。 http://femo.nomadscafe.jp/ ↓Helpで使っているスクリーンショット メモのTagとして、2005-12-09と日付をいれるとカレンダーの方に整頓される仕組みです。カレンダーでもTagCloud風にメモ件数の多い日は字が大きく表示されます。 Catalyst + Ajax + TypeKey認証 + Tagging + はてな記法と話題の技術を使い派手に実装しました。TypeKeyのアカウントを持っていればログインだけで使えるのでぜひお試しください。ご意見もくださいませ。

    asakura-t
    asakura-t 2005/12/12
  • Class::DBI::SweetでのJOIN : blog.nomadscafe.jp

    Class::DBI::SweetでのJOIN Class::DBI::Sweetのjoinをつかった検索を試してみた。 ソースコードは作っているアプリケーションからの抜きだしなので足りないところがあるかも。 EntryとそのTagを想定して、 package Entries; __PACKAGE__->table('entries'); __PACKAGE__->columns(All=>qw/id title text created_on/); __PACKAGE__->has_many("tags"=>'Tags'); 1; package Tags; __PACKAGE__->table('tags'); __PACKAGE__->columns(All=>qw/id entry_id tag/); __PACKAGE__->has_a('entry_id'=>'Entries'

    asakura-t
    asakura-t 2005/12/08
  • blog.nomadscafe.jp: FormValidatorとDBIx::Class::WebFormの組み合わせはいい。

    FormValidatorとDBIx::Class::WebFormの組み合わせはいい。 Scaffoldなどではすでに使われているのだけど、FormValidator::Simple(Data::FormValidator)とDBIx::Class::WebForm(Class::DBIの場合はClass::DBI::FromForm)、この組み合わせはヤバいね。非常に楽ができてしまう。 研究中のCatalystアプリの部分だけど、タイトルと、内容、時間(年〜秒まで6つのフォーム)があって、それをDBに入れる場合、 my $result = $c->form( title=>[qw/NOT_BLANK/], text=>[qw/ANY/], {created_on=>[qw/d_year d_month d_day d_hour d_min d_sec/]}=>[qw/NOT_BLANK

    asakura-t
    asakura-t 2005/11/27
  • HTML::Template::Pro : blog.nomadscafe.jp

    HTML::Template::Pro HTML::Template::Pro HTML::TemplateのXS版。HTML::Templateと比べて、10倍〜25倍早いらしい。mod_perlでも効果あるようだ。 HTML::Template::Pro loads, parse and outputs template on fly, when you call $tmpl->output(), in one pass. The corresponding code is written in C and glued to Perl using Perl+XS. As a result, comparing to HTML::Template in ordinary calls, it runs 10-25 times faster. Comparing to HTML::Templ

    asakura-t
    asakura-t 2005/06/17
    HTML::Templateを使っててパフォーマンスが必要な時に。個人的にはTemplate-Toolkitのほうが好きなんだけどね。
  • 1