生成AIを活用したSaaSサービス提供企業

  • Company
    • Company
    • 会社概要
    • グループ会社
  • Service
  • Work
  • News
  • Recruit
  • Blog
  • Contact

ブログBlog

  • ALL

  • お知らせ

  • 技術/デザイン/制作

  • ベトナム

  • ごはん

  • 日常/プライベート

  • ハーフマラソン走ってきます!

    遂に、今年の目標であるハーフマラソンに申し込みました。

    東京マラソンのようにメジャーではないですが、全国ランニング大会100選
    にも選ばれている「成田POPラン大会」です。
    http://www.city.narita.chiba.jp/sisei/sosiki/shosport/std0048.html

    この「POP」というキーワードは想像通り「POPULAR」の頭文字で、
    誰でも気軽に参加できる大会という意味だそうです。
    ただ、、、色々と調べ続けるとアップダウンが激しく、それなりに
    厳しいコースという評価が多かったため、舐めてはかかれません。
    まだ一度に12キロ以上走った事がないため、既にビビり倒してはいますが。。。
    あと2ヶ月ありますが、余裕を持って準備しておきます。

    目標は「1度も歩かず完走し、2時間をきる!」です。

    11月半ばに完走結果をご報告できるよう頑張ります。

    このエントリーをはてなブックマークに追加
    Share on Tumblr
    Tweet

    伊藤 康平投稿者 伊藤 康平

    投稿日: 2012/09/072012/11/12

    カテゴリー 日常 / プライベート
  • ApacheとnginXを比較してみた感想

    最近家庭の事情により留守番が多く、色々なパフォーマンスの比較に凝っています。
    言語間の処理(演算)スピードの比較、ボトルネックになりやすい
    データベース周りの比較などなど
    文献を読むだけでは知能レベル的にしっくり来ず理解できないため…
    実際に比較して勉強しています。

    今回はその中からWebサーバーの比較結果について書いてみます。
    2011年頃から一気にシェア率を伸ばし、シェア率第2位「IIS」の
    すぐ背後に迫る勢いのシェア率第3位「nginx」と不動の第1位「Apache」を比較してみました。
    Azureが順調なのかMS IISも2012年頃から復調の兆し(逆にApacheのシェア率は縮小)
    があるため、今後のシェア率の動向には要注目です。
    http://news.netcraft.com/archives/2012/07/03/july-2012-web-server-survey.html
    (nginxのシェア率10%越えてるんですね!!)

    比較はベンチマークの定番簡易ツールであるabコマンド(Apache Bench)を利用しました。
    基本オプションは以下になります。
    -c 同時に発行するリクエスト数
    -n リクエスト発行総数
    -t 負荷テストの実行時間

    検証方法としては、-n(総リクエスト数)を指定してどれだけの”応答時間”で捌けたのかを
    検証する方法や、-t(負荷テストの実行時間)を指定して、どれだけの”リクエスト数”を捌けたのか
    を検証する方法がありますが、今回は-nを指定して、所定のリクエスト数に対してどれだけの
    応答時間で捌けているのかを検証してみます。(総処理時間やスループットを比較)

    ******************************************************************************************
    ※例
    ab -c 10 -n 100 “http://localhost/”
    この場合、http://localhost/ に対して、同時発行(接続)リクエスト数が10、
    合計100リクエストを投げることになります。(同時に10個ずつのリクエストを合計10回実施)

    abコマンドの結果は以下になります。
    Server Software: nginx/1.3.4
    Server Hostname: comparehost
    Server Port: 8000

    Document Path: /
    Document Length: 43279 bytes => レスポンスデータサイズ(アクセス先ファイルサイズ)

    Concurrency Level: 10 => 同時接続数
    Time taken for tests: 6.005 seconds => 全ての処理が完了するまでの総時間
    Complete requests: 100 => 成功したリクエスト数
    Failed requests: 0 => 失敗したリクエスト数
    Write errors: 0
    Total transferred: 4383881 bytes
    HTML transferred: 4360146 bytes
    Requests per second: 16.65 [#/sec] (mean) => 1秒あたりの平均処理リクエスト数(スループット)
    Time per request: 600.516 [ms] (mean) => 1同時リクエストあたりの平均所要時間
    Time per request: 60.052 [ms] (mean, across all concurrent requests) => 1リクエストあたりの平均所要時間
    Transfer rate: 712.91 [Kbytes/sec] received => 1秒あたりの受信容量(byte数)
    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 28 552 244.4 576 2030
    Processing: 0 29 68.9 5 464
    Waiting: 0 2 7.7 0 34
    Total: 220 581 208.7 584 2030

    Percentage of the requests served within a certain time (ms) => 処理時間毎の割合
    50% 584 => 左記の場合、50%のリクエストが584ms以内に処理されたことを表す
    66% 605
    75% 623
    80% 635
    90% 702
    95% 879
    98% 1050
    99% 2030
    100% 2030 (longest request)

    ******************************************************************************************

    検証前に、環境の確認です。
    ○abリクエスト元ホストは同一マシン(自サーバーからではなく別ホストからのリクエストのため
    ○検証環境(リクエスト先サーバー)は同一マシン
    ○レスポンスデータサイズ(Document Length)は同じ ※nginx贔屓でリクエスト内容は静的コンテンツ…
    ○ApacheのMPMはprefork
    ○ApacheのVerは2.2.3(2.4.3ではないです。。)

    準備ができたので検証してみます。
    まずは同時接続数1で100回リクエストしてみます。
    ◆Apache(ab -c 1 -n 100 “http://comparehost/”)
    Server Software: Apache/2.2.3
    Server Hostname: comparehost
    Server Port: 80

    Document Path: /
    Document Length: 43279 bytes

    Concurrency Level: 1
    Time taken for tests: 12.173 seconds
    Complete requests: 100
    Failed requests: 0
    Write errors: 0
    Total transferred: 4355000 bytes
    HTML transferred: 4327900 bytes
    Requests per second: 8.22 [#/sec] (mean)
    Time per request: 121.727 [ms] (mean)
    Time per request: 121.727 [ms] (mean, across all concurrent requests)
    Transfer rate: 349.38 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 98 121 19.1 119 220
    Processing: 0 0 0.4 0 3
    Waiting: 0 0 0.0 0 0
    Total: 98 122 19.1 119 220

    Percentage of the requests served within a certain time (ms)
    50% 119
    66% 123
    75% 128
    80% 130
    90% 145
    95% 157
    98% 198
    99% 220
    100% 220 (longest request)

    ◆nginx(ab -c 1 -n 100 “http://comparehost:8000/”)
    Server Software: nginx/1.3.4
    Server Hostname: comparehost
    Server Port: 8000

    Document Path: /
    Document Length: 43279 bytes

    Concurrency Level: 1
    Time taken for tests: 13.142 seconds
    Complete requests: 100
    Failed requests: 0
    Write errors: 0
    Total transferred: 4351400 bytes
    HTML transferred: 4327900 bytes
    Requests per second: 7.61 [#/sec] (mean)
    Time per request: 131.420 [ms] (mean)
    Time per request: 131.420 [ms] (mean, across all concurrent requests)
    Transfer rate: 323.35 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 97 130 27.4 123 330
    Processing: 0 2 1.4 2 10
    Waiting: 0 0 0.0 0 0
    Total: 99 131 27.3 124 330

    Percentage of the requests served within a certain time (ms)
    50% 124
    66% 127
    75% 133
    80% 137
    90% 158
    95% 187
    98% 194
    99% 330
    100% 330 (longest request)

    接戦です。
    総処理時間はApache、スループットはnginxが競り勝ちました。
    nginxの方がスループットが勝っているため、マルチ処理が得意なnginxが
    総処理時間でも勝りそうな気もしますが、総リクエスト数が少ない&受信容量が勝った分なのか、
    総処理時間はApacheに軍配が上がりました。
    ただし、どんぐりの背比べでもあり、同時接続数も1のためあまり参考にはならない結果です。

    ******************************************************************************************

    次は一気に同時接続数を増やし、同時接続数50で1000回リクエストしてみます。
    ◆Apache(ab -c 50 -n 1000 “http://comparehost/”)
    Time taken for tests: 62.630 seconds
    Requests per second: 15.97 [#/sec] (mean)

    ◆nginx(ab -c 50 -n 1000 “http://comparehost:8000/”)
    Time taken for tests: 63.534 seconds
    Requests per second: 15.74 [#/sec] (mean)

    一気に同時接続数&リクエスト数を増やしましたが、これもほとんど変わらない結果でした。
    リクエスト数を10000回まで増やしても大きな差は発生しなかったため、
    同時接続数50、且つリクエスト数10000程度であればApache、nginxで特に大きな差はなく捌けるようです。

    ******************************************************************************************

    それではということで、次はリクエスト数を固定(1000回)し、
    同時接続数を増やしていきながら処理結果を観察してみました。
    ※ここからリクエスト元を自サーバーからに変更してます。

    ◆Apache
    =>同時接続数100(ab -c 100 -n 1000 “http://comparehost/”)
    総処理時間 :0.229897 seconds
    スループット:4349.77 [#/sec] (mean)

    =>同時接続数200(ab -c 200 -n 1000 “http://comparehost/”)
    総処理時間 :0.266142 seconds
    スループット:3757.39 [#/sec] (mean)

    =>同時接続数300(ab -c 300 -n 1000 “http://comparehost/”)
    総処理時間 :0.794779 seconds
    スループット:1258.21 [#/sec] (mean)

    =>同時接続数400(ab -c 400 -n 1000 “http://comparehost/”)
    総処理時間 :7.133020 seconds
    スループット:140.19 [#/sec] (mean)

    =>同時接続数500(ab -c 500 -n 1000 “http://comparehost/”)
    総処理時間 :14.90692 seconds
    スループット:70.97 [#/sec] (mean)

    同時接続数が300以上から明らかに性能が落ちています。
    MaxClientsを256に設定しているため、許容範囲を超え捌ききれなくなっているためだと考えられます。
    (因みに、MaxRequestsPerChildは200にしている)
    nginxはどうでしょうか!?

    ◆nginx
    =>同時接続数100(ab -c 100 -n 1000 “http://localhost:8000/”)
    総処理時間 :0.94022 seconds
    スループット:10635.81 [#/sec] (mean)

    =>同時接続数200(ab -c 200 -n 1000 “http://localhost:8000/”)
    総処理時間 :0.180318 seconds
    スループット:5545.76 [#/sec] (mean)

    =>同時接続数300(ab -c 300 -n 1000 “http://localhost:8000/”)
    総処理時間 :2.794196 seconds
    スループット:357.88 [#/sec] (mean)

    =>同時接続数400(ab -c 400 -n 1000 “http://localhost:8000/”)
    総処理時間 :1.264635 seconds
    スループット:790.74 [#/sec] (mean)

    =>同時接続数500(ab -c 500 -n 1000 “http://localhost:8000/”)
    総処理時間 :0.100467 seconds
    スループット:9953.52 [#/sec] (mean)

    ん?んん??
    Apacheよりスループットは高いけど、やっぱり同時接続数が増えるのと合わせて
    性能は落ちるな。。。と思いきや、同時接続数が500になったタイミングで一気に
    スループットが上がっています!

    =>同時接続数600(ab -c 600 -n 1000 “http://localhost:8000/”)
    総処理時間 :0.85274 seconds
    スループット:11726.90 [#/sec] (mean)

    =>同時接続数700(ab -c 700 -n 1000 “http://localhost:8000/”)
    総処理時間 :0.592253 seconds
    スループット:1688.47 [#/sec] (mean)

    600でも引き続き高いままで、700になり再度下降し始めました。
    nginxの場合は同時接続数が少なすぎると性能が落ちるのか、特性を活かしきれないようです。
    いずれにせよ、Apacheと比較すると圧倒的に静的ページへの同時アクセスを捌く能力は高いようです。

    【比較結果の個人的な感想】
    ○負荷が高くなく、早期セットアップが必要な場合は「Apache」
    ○負荷が高く、スケーラビリティが要求される場合は「nginx」
    ○静的ページに同時多数のアクセスが想定される場合は「nginx」
    ※動的ページは処理内容やサーバスペックによるため現状では判断できない(要調査)
    ○ある程度の同時アクセスが見込めない場合は「Apache」
    ○同時アクセス数は小さく、単純にリクエスト数が多い場合は「Apache」

    Apacheも2.4.x以降に大きく性能改善がされ、同時アクセス時の処理耐性はnginxよりも
    優れいているという情報もあるため、静的ページにおいてもチューニング次第ではnginxより
    優れたパフォーマンスを得られる可能性もあります。
    と、結局のところ確信にせまる特性を掴みきれてはいない状態ですが、、、
    少しだけnginxの特性を理解できたと思います。(動的ページの比較検証はできてないけど。。。)

    動的ページの検証はさておき、次回はデータベース周り、
    特にNoSQL(Redis、HBase、Cassandraなど)関係のプロダクトについて比較検討してみようと思います。
    噂のRedisの爆速っぷりを体感しようと思います。

    このエントリーをはてなブックマークに追加
    Share on Tumblr
    Tweet

    伊藤 康平投稿者 伊藤 康平

    投稿日: 2012/08/272012/11/13

    カテゴリー 技術 / デザイン / 制作
  • 夏バテ厳禁

    こんばんは。営業部の伊藤です。

    本日(8/7)で立秋となりますので秋の気配が現われて来る時期ではあるのですが、
    依然として猛暑が続いています…。
    夏バテなど、体調を崩されている方も多いのではないでしょうか。
    どうぞ、ご自愛くださいませ。

    と、そんな暑い日が続いておりますが、
    暑い!熱い!と弱音ばかりを吐いてはいられません。

    Vitalifyは8月決算のため、毎年この時期は
    通期の振り返りや次期事業戦略、ならびに戦術の立案をしており、
    非常に重要な時期になります。

    夏バテしている場合ではないですね。
    今まさに来期の戦術を立案中です!

    現時点でお伝えできる事は、
    今後も更にベトナム事業に力を入れていく、という点です。
    具体的な動きが決まりましたらまた改めてご報告させていただきます。

    強みと機会を活かし、今期の反省点を繰り返さない
    ような事業計画を立案(且つ実行)してまいります。
    改善、進化できるよう邁進してまいりますので、ご期待ください!!

    このエントリーをはてなブックマークに追加
    Share on Tumblr
    Tweet

    伊藤 康平投稿者 伊藤 康平

    投稿日: 2012/08/072012/11/12

    カテゴリー 日常 / プライベート
  • ベトナムへの社員研修旅行

    先週末、社員研修旅行でベトナムに行ってまいりました。
    既に数人が投稿していますが、非常に素晴らしい研修旅行でしたので
    被せて投稿させていただきます。

    研修旅行でベトナムに行くことは昨年度も検討していたのですが、
    海外旅行のハードルの高さ(パスポート取得など)や隣国の情勢事情など
    様々な理由から昨年度は断念した経緯があるため、待ちに待った目標でも
    あり小さな夢でもありました。

    「いつかバイタリフィグループ全員で集まりたい!」

    2チーム制に分かれて出発日をずらしたため、出発時点でこの目標が叶うのか
    モヤモヤしていましたが、後続組みがベトナムに到着した夜、遂にその目標が叶いました。

    撮影 崎山社長

    What a vitality!
    みんな最高の笑顔です。

    非常に充実した数日間でしたので色々と出来事もあり
    感じた事もあるのですが、こちらをお伝えするのは他の方々に
    お任せ(サボってる訳じゃないですよ!被るからですよ!)するとして、
    新しくできた目標を記載します。

    「来年も皆で集まろう!もっと大きく!更に笑顔で!」

    来期は今まで以上にベトナムに力を入れる事になると思います。
    やりたい事、できる事が多く楽しみです。

    ※最後に
     今回の研修旅行のために忙しい中内容の濃い予定を計画し、
     休日返上で案内してくれたVFAの皆さん、本当にありがとうございました。

    このエントリーをはてなブックマークに追加
    Share on Tumblr
    Tweet

    伊藤 康平投稿者 伊藤 康平

    投稿日: 2012/07/112012/11/12

    カテゴリー 日常 / プライベート
  • 父の日

    先週末、1泊2日で地元に帰ってきました。

    結婚式でもない限り1泊2日で帰省する事はなかなかないのですが、
    今回はスーパー仕事人間な親父が遂に今月で仕事を引退するという
    連絡が母親よりあったため、父の日の祝い&親父のお疲れ会をするため、
    嫁さんの親父と一緒に帰省しました。
    父の日だけに、ダブルオヤジーズと共に戯れてきました。

    親父は61歳ですが、まだまだ元気なため「本当に引退するのかな?」
    と半信半疑で帰省したのですが、、、
    案の定、やっぱり続ける事にしたよ!という事で、結果ただの飲み会には
    なりましたが、兄貴も含めて男4人で飲めたのは楽しかったです。

    ↓がダブルオヤジーズです。
    さて、私の親父はどちらでしょう?
    ヒントは髪の毛の量です^^
    オヤジーズ

    あと数年だと思いますが、もう少しだけ仕事を楽しんでください。

    このエントリーをはてなブックマークに追加
    Share on Tumblr
    Tweet

    伊藤 康平投稿者 伊藤 康平

    投稿日: 2012/06/262012/11/12

    カテゴリー 日常 / プライベート
  • EURO2012

    ワールドカップ最終予選が始まりましたね。

    日本代表は6月3連戦を2勝1分けとまずまずのスタート!
    以前までの日本代表とは違い、積極性、安心感があり
    ダビングして見直すくらい毎試合が楽しいです。
    次(9/11)のイラク戦が待ち遠しくて仕方がないです。

    ただ!今はワールドカップ最終予選よりもアツいものがあります。

    それは、タイトルにも書きましたがEURO2012です。
    普段ではなかなか見れない対戦カードを連日見る事ができ、
    国別の対抗戦としては、南米と並んで高いレベルのサッカーを楽しめます。

    個人的に応援しているのはシャビやイニエスタが在籍する
    前回ワールドカップ覇者(2010年 南アフリカ大会)のスペインです。
    ここまでの予選を8戦全勝という圧倒的な成績で楽々と通過しているので、
    最終予選も楽々突破してくれそうですが、何が起きるか分からないのがサッカーなので、
    安心せず応援を続けます!

    皆さんも是非EURO2012をご覧ください!

    このエントリーをはてなブックマークに追加
    Share on Tumblr
    Tweet

    伊藤 康平投稿者 伊藤 康平

    投稿日: 2012/06/142012/11/12

    カテゴリー 日常 / プライベート

投稿ナビゲーション

前のページ ページ 1 … ページ 17 ページ 18 ページ 19 … ページ 30 次のページ