sar(sysstat)とは LoadAverageやCPU使用率、ディスクI/Oの状態を表示できるコマンド。 何より便利なのは、過去にさかのぼれる点。 sarのインストール
sar(sysstat)とは LoadAverageやCPU使用率、ディスクI/Oの状態を表示できるコマンド。 何より便利なのは、過去にさかのぼれる点。 sarのインストール
さらば、愛しき論理削除。MySQLで大福帳型データベースを実現するツール「daifuku」を作ってみた 先のエントリ「論理削除はなぜ「筋が悪い」か」で書いたとおり、データベースに対して行われた操作を記録し、必要に応じて参照したり取り消したりしたいという要求は至極妥当なものですが、多くのRDBは、そのために簡単に使える仕組みを提供していません。 daifukuは、RDBに対して加えられた変更をトランザクション単位でRDB内にJSONとして記録するためのストアドやトリガを生成するコマンドです。 % daifuku dbname tbl1 tbl2 > setup.sql のように実行すると、指定されたテーブル(ここではtbl1とtbl2)にセットすべきトリガや、更新ログを記録するためのテーブル「daifuku_log」を生成するCREATE TABLEステートメントなど、必要なSQL文をset
スロークエリログの出力フォーマット スロークエリログはデフォルトではログファイルに出力されます。log_outputをTABLEに設定すると、mysqlデータベースのslow_logテーブルに出力されます。カンマ区切りで「FILE,TABLE」と設定すると、slow_logテーブルとログファイルの両方に出力されます。なお、log_outputは一般ログ(General Log)とスロークエリログの両方に影響しますので注意してください。 slow_logテーブルはCSVストレージエンジンを利用しているため、CSV形式のデータファイルをコピーして各種のツールで集計も可能です。テーブルに出力している場合のmysqldumpslowに類似した集計は下記のSQL文で可能です。 図2 mysql.slow_logテーブルからmysqldumpslow同等の集計を行うSQL文 mysql> SELECT
2015-03-31 CircleCIアンチパターン 2015春 CI CircleCI Docker 今日はCircleCIで気持ちよくCIを回すために、抑えておいた方が良いアンチパターンについて書きます。わりと基本的な話なので、心当たりがあれば見直してみると良いと思います。 Fat Repository Anti Pattern(巨大なリポジトリ) CircleCIのコンテナは使い捨てですが、対象のリポジトリを毎回cloneするのではなくて、2回目移行は前回のCI時にキャッシュしておいたリポジトリを利用することで差分取得を実現しています。 checkoutフェーズのRestore source cacheのことですね。 この手法によって最新取得のコストを大幅に低減することができますが、コンテナ初期化時にS3からリポジトリのアーカイブを取得するという特性上、あまりにも巨大な数GB超えのリ
MySQL :: MySQL 5.6 Reference Manual :: 22 MySQL Performance Schema 5.6以降「よくなったよ!」「確かにね! でもメモリー」「」みたいな感じで扱われて結局まだONにしているインスタンスの少ないPerformance Schemaなのでちょっと練習中。 tpcc-mysqlとかでやると割と綺麗なクエリーをしているので面白い情報が出ない(ibdata1のfsyncに時間がかかってることなんて知ってるよ! って感じになる)ので、isucon2のアプリで試してみることにしますた。モリスさん++ livedoor Techブログ : 自家製 #isucon2 のつくりかた MySQLは5.6がいいのでMySQL :: Download MySQL Yum Repositoryで入れる。 $ sudo yum localinstall
社会人になり1年が経とうとしている。半年でiOSアプリを11個リリースしたので、そのことを書いてみよう。 普段はマークアップエンジニア 2014年新卒で、普段は会社でHTML,CSS,たま〜にJavascriptを書いている。 アプリを作成するにあたった経緯 新卒入社後、半年間は趣味のプログラミングはいろいろやっていた。oFやProcessing,JSを使ったジェネラティブなプログラミングなどを良くやっていた。面白いのだが、飽きることもあったり、世の中のトレンドとして、アプリは無視できないと思った。Objective-Cの本を買ったものの、少しのサンプルを動かして終わっていた。2014年10月ごろ、重い腰をあげて、開発を再開したという感じ。 何を作ったか ・一覧 https://itunes.apple.com/jp/artist/naoya-sugimoto/id933472785 ht
長年の課題だった英語をようやく本気で勉強する気になった。三日坊主になるかもという危惧もあったが、気がついたら 2週間たっていたので、このまま習慣になることを願いつつ、一旦整理する。 やりたいこと(優先順位順) そもそも何がやりたくて英語を勉強をするのかというと、 1. 英語のドキュメントを読むスピードを上げたい。ちゃんと理解したい これがモチベーションの半分以上を占める。IT エンジニアなので読むドキュメントの半分くらいが英語で書かれていて、読むスピードが遅いと効率に直に影響する。 あとはまあ、例えば RailsCasts の動画 とかを見ながら理解できるようになりたい。つまり、 2. 英語を聞き取れるようになりたい とか、GitHub のプルリクエストや Issue とかで英語で言いたいことを伝えられるようになりたい。つまり、 3. 英語を(あまり考え込まずに)書けるようになりたい とい
Photo by waferboard こんにちは。谷口です。 プログラミングをこれから学ぼうとしている方や、これから研修や実務に入る新人エンジニアの皆さんの中には「Javaを学習したい」という方も多くいらっしゃるかと思います。 Javaは、1990年代前半にサン・マイクロシステムズ(2010年オラクルにより吸収合併)でジェームズ・ゴスリン、ビル・ジョイらによって開発されました。 Java開発の求人は、これまでは金融関係のシステム(ATM等)などの比較的大規模開発案件が中心でしたが、近年ではAndroidのネイティブアプリ開発も増えてきています。 Javaを習得できれば、Webサービスだけではなく組み込み系やデスクトップアプリなど、大小さまざまなシステムで活用できます。OSに依存せず、ライブラリも豊富なので開発の幅が広く、有名なサービスではTwitterやEvenoteでもJavaが使用さ
サーバーとの通信、HTML5のAPIを使ったアプリケーションの開発に必要不可欠な「非同期処理」について学びましょう。 非同期処理とは背景処理の「非同期」化サーバーとの通信を例に考えてみようPromiseパターン基本的な考え方コードの基本形(1)呼び出した関数がPromiseパターンに従っている場合(2)自分で作成する関数でPromiseパターンを利用したい場合非同期処理の「失敗」の扱い方(1)呼び出した関数の失敗通知を受け取る(2)自分が作成する非同期処理関数で失敗を通知する複数の非同期処理をつなげて順番に行う複数の非同期処理を並列に実行して、全てが完了したら最終処理を行う非同期処理とは背景Webブラウザは基本的に、JavaScriptコードを実行するとき、コードを上から順に1行ずつ実行します。 また、関数を呼び出すと、その関数の実行が終了するまで(return文によって呼び出し元の関数に
エンジニアの渋谷です。 マネーフォワードは3月30日に【給与計算ソフト - MFクラウド給与】という新サービスをローンチさせていただきました。 マネーフォワード、クラウド型給与計算ソフト『MFクラウド給与』(β版)を無料提供開始~法改正や税制改正にも自動対応。企業の給与計算・労務をもっとスマートに~ クラウド給与計算ソフト マネーフォワード クラウド上で完結する本格的な給与計算サービスとして、リアルタイム給与計算機能や料率自動反映などを備えております。 本サービスの企画自体は、昨年年末に3人でスタートし、年明けから様々な方にお手伝いいただきながら、約3ヶ月の開発期間でローンチしました。 今回は、新サービスをゼロから作り上げるにあたり、エンジニアとしてやって良かった、と思えた事を9つばかり紹介させていただきます。 1:リリース前確認シート 企画がスタートした時に、【ビジョン】【ミッション】と
こんにちは、技術部 高井です。 春といえば、フレッシュマンの季節ですね。このブログを読む方の中には、明日からエンジニアとして新社会人になるという方もいらっしゃるのではないでしょうか。クックパッドでも新しい仲間を迎えるための準備をしていたところで、その準備の一環として「新卒ソフトウェアエンジニアのための技術書100冊」というものを作成しました。 この100冊は、職業ソフトウェアエンジニアとしてキャリアを積むにあたって、読むべき技術書に悩んだら、まずはこのリストから選ぶとよいのではないでしょうかという提案です。 リストに多少の趣味や主張がはいっているのは、まあご愛嬌ということでお許しいただければとおもいますが、職業プログラマとして知っておくべき知識を網羅できるように心がけました。古典と呼ばれる名著についてはできるだけ取りいれ、独習が難しい難解なコンピュータサイエンスの教科書は避けています。これ
roguelazer's website: beating the compiler なかなか面白かったので翻訳して紹介する。 たとえば、97%の場合において、僅かな効率など忘れるべきである。。早すぎる最適化は諸悪の根源である。とはいえ、残りの重要な3%の機会を逃すべからず。 -- Donald Knuth 計測せよ。計測するまで速度の最適化を施してはならぬ。たとえ計測したにせよ、一部のコードが残りを圧倒するまではまだ最適化してはならぬ。 Rob Pike 最新のWebサービスを主体とした技術の業界に長年浸かった我々は、パフォーマンスの問題を忘れがちである。SQLAlchemy ORMの中で行うリクエスト一つが8,9秒かかる中で、関数呼び出しひとつを3ミリ秒最適化したところで何になるというのか。とはいえ、時にはそのような最適化スキルを養っておくのもいいことだ。今回は、ある簡単な課題を最適化
本記事の公開後の2016年7月にはてなにおけるチューニング事例を紹介した。 はてなにおけるLinuxネットワークスタックパフォーマンス改善 / Linux network performance improvement at hatena - Speaker Deck HAProxy や nginx などのソフトウェアロードバランサやリバースプロキシ、memcached などの KVS のような高パケットレートになりやすいネットワークアプリケーションにおいて、単一の CPU コアに負荷が偏り、マルチコアスケールしないことがあります。 今回は、このようなネットワークアプリケーションにおいて CPU 負荷がマルチコアスケールしない理由と、マルチコアスケールさせるための Linux カーネルのネットワークスタックのチューニング手法として RFS (Receive Flow Steering) を
CM Developers.IO meetup 2015 Session D-1 昨日3月29日に開かれました Developers IO meetup 2015 のD-1セッション で続・ゲンバのSwiftと題して、Swiftを現場でどのように用いているかについて発表しました。 発表スライド Content of session Enum Swiftで導入されたEnum(列挙型)の機能を実際の開発でどのように用いているかについて発表しました。 離散値とEnum 性別や血液型、決まった期間などの離散値は単純にInt型やDouble型として扱うと、決まった離散値以外の値を取りうるためにアサーションの実装の必要や、APIによる400 Bad Reqest のレスポンスの可能性があります。 このために、このような値に対してはEnumとして宣言を行い、決まった値が必ず入るようにIOを制限し、かつS
コネクションプーリングについて、わかっていないことが多すぎたので、ちょっとだけ調べたことをメモで残しておきます。 今はまだ触りレベルしかわかっていなのいので、もう少しちゃんと分かるようになりたい! 😀 [スライド] データベースの羅針盤 コネクションプーリングを調べている過程で偶然見付け足資料 『データベース技術の羅針盤』。 とにかくわかりやすくて、俯瞰的にDBの業界を知ることができる資料。すばらしすぎる。 🎂 コネクション・プーリングとは?DBのコネクションを一定数確立しておいて、それを使いまわす手法のこと。 DBへの接続に必要となるオーバーヘッドをカットしてWeb/DBの双方の負荷を下げる。 また、WebとDBの接続を使いまわすことで同時接続数を節約する。 用意した、コネクション数を超えたアクセスは、コネクションに空きがでるまで待たされる。 以下はOracle関連の話ですが、基本は
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く