タグ

Starmanに関するakaneharaのブックマーク (9)

  • StarmanやStarletでmod_statusっぽい情報を得る簡易版Plack::Middleware::ServerStatus - blog.nomadscafe.jp

    最近、弊社でもいくつかのサービスでStarmanが動き始めてます。リソース監視厨としてStarmanやStarletといったPreforkなPlackサーバにおいてもApacheのmod_status同様、使用されているプロセス数、アイドル中のプロセス数を当然知りたいわけです。CloudForecastでグラフにしたいわけです。 すでにcho45氏がその機能を実現しています。cho45++です。ただ、ステータス表示を行うMiddlewareの他にステータス情報の変更を行うためにStarmanやStarletの体に手を入れており、若干使いにくいという印象を持っていました。そこでMiddlewareだけで、Middlewareのできる範囲でステータスを変更・表示するPlack::Middleware::ServerStatus::Liteを書いてみました。ソースコードはgithubにpush

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Server::Starter + Starman で HUP 再起動が上手くいかないことがある - Craftworks Tech Blog - Branch

    現在、Server::Starter + Starman で運用している環境があるのですが、週に1回ほど古いワーカーが終了しないで残り続けるという現象が起こっています。 FCGI 起動の名残りで、毎時間 HUP を投げていたのですが、普段は問題なく starman プロセスが再起動していたのですが、たまに再起動が上手く行かずに、古いプロセスが残り、リクエストに応答できなくなるという状態です。 start_server の起動オプションは以下です。 start_server --port 8001 -- starman --listen :8001 --workers 4 app.psgi 現象が起こっている時の ps 結果 $ pgrep -f starman | xargs ps u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMA

    Server::Starter + Starman で HUP 再起動が上手くいかないことがある - Craftworks Tech Blog - Branch
  • 普通のデーモンを 1) Server::Starterでホットデプロイ+ 2) slow-restart対応にする - Qiita

    序章 最近筆者があるシステム上の非同期ワーカーに対して作業していたところ、新しいコードをデプロイしてこのプロセス達を再起動すると全てのワーカーが同じタイミングで停止→再起動してしまうのでアラートがちらほら流れてきました。クリティカルなものではないのですが、アラートはうざいです。さらに開発機では何回か失敗もしたのですが、その失敗のせいでワーカーが起動に失敗することもありました。その間は当然ワーカー機能は止まったままです。 アラートはできればみたくないのです。さらに万が一新しいコードが起動に失敗した場合でも前の世代が動いていればこのあたりの心配をする必要がなくなります自分がそのあたりに手を入れるタイミングでServer::Starterをかまして対処してしまうことにしました。 元のワーカー まず前提として、このワーカー達は以下のような形で「実行するワーカーのコマンド名(実際はクラス名)」と「い

    普通のデーモンを 1) Server::Starterでホットデプロイ+ 2) slow-restart対応にする - Qiita
  • Code Reading (Perl): Starman (PSGI Web Server) - Haskell雑記帳

    Starman のコード読んでみたのでまとめ。 Starmanとは Plack/PSGIに対応したPerl製のWeb Server。 Perlと言えばこの人、miyagawa さん作。 Plack/PSGI に関してはこのへんとか。 バカでもわかるPlack/PSGI - JPerl Advent Calendar 2009 第1回 PSGI/Plack―フレームワークとサーバをつなぐエンジン (1):Perl Hackers Hub|gihyo.jp … 技術評論社 Apacheやnginxをリバースプロキシとして、バックエンドにStarmanを使うなどするらしい。(e.g. ゆーすけべー日記) サーバーのタイプは、起動ログにあるように、Net::Server::PreFork 型。Apacheと同じ。 prefork型というのは、予め一定数の子プロセスをforkしておき、並列に処理を行

    Code Reading (Perl): Starman (PSGI Web Server) - Haskell雑記帳
  • Devel::NYTProf で Starlet/Starman (Plack) でうごくウェブアプリケーションのプロファイリングをおこなう方法まとめ - tokuhirom's blog

    Devel::NYTProf は Perl5 の世界でもっとも人気があるプロファイラである。表示が美麗であるし、ステップごとの処理速度が簡単にわかるのでとても便利だ。 そんな Devel::NYTProf であるが、Starlet/Starman のようなプリフォーク式のサーバーでうごくウェブアプリケーションとくみあわせる場合の方法論として、わかりやすい資料がみあたらなかったのでここに記すものである。 環境変数 NYTPROF を設定する Devel::NYTProf は環境変数で挙動を変えられる。 plack とくみあわせる場合には、以下のようにするとよい。 NYTPROF=sigexit=int:savesrc=0:start=no sigexit=int 通常、Devel::NYTProf は END { } ブロックでデータのファイナライズ処理をおこなうのだが、SIGNAL によっ

  • Server::Starter、Starman、Starletを使ったオレオレ運用方法 - KJ blog

    インターネットからリクエストを直接受け付けるのはApacheやnginxで、そこからリバースプロキシでPSGIアプリを使ってレスポンスを返しているというケースを想定して書いてます。 やり方は色々とあるんだろうけれど、apachectlライクにstart,stop,restartでお手軽に運用したいのでstart_serverスクリプト(Server::Starter)をラッピングしたものを書きました。 使い方は下記の通りです。 usage: /path/to/script/appctl --stage=[development|production] [--start|--stop|--restart] githubのソースはこちらで、以下はappctlスクリプトのソースです。ログのリダイレクトや、starman, starletの個別のオプションは直に変えてください。 #!/home/k

    Server::Starter、Starman、Starletを使ったオレオレ運用方法 - KJ blog
  • Server::Starter の --interval オプションは大切 - Pixel Pedals of Tomakomai

    最近、Server::Starterを使い始めたのですが、いつでも簡単にサーバを再起動でき、とても便利で安心です。詳しい解説は、kazuhoさんの去年のAdvent Calendarのエントリがわかりやすいと思います。 さて、start_server コマンドには --interval ってオプションがあるのですが、このオプションが結構重要です。--helpから引用すると以下の通りです。 --interval=seconds minimum interval to respawn the server process (default: 1)Server::StarterがHUPシグナルを受け取った際、--interval の間にサーバがエラー終了しないと、サーバの立ち上げに成功したと見なして新しいサーバにディスパッチを開始してしまいます*1。よって、立ち上げに1秒以上時間がかかるサーバを

    Server::Starter の --interval オプションは大切 - Pixel Pedals of Tomakomai
    akanehara
    akanehara 2015/03/26
    [Server::Starter][perl][psgi]
  • SSSSLIDE

    SSSSLIDE
  • 1