タグ

ブックマーク / gihyo.jp (8)

  • 第4回 大規模データ処理におけるCPUの2大ボトルネックとは | gihyo.jp

    「特定CPUコアでのボトルネック」と「リソースの奪い合い」が2大ボトルネック 第2回、第3回ではディスクI/Oボトルネックについて説明しました。レスポンスとスループットの関係を正しく理解し、I/Oスループットを最大化するようチューニングすれば、ほとんどの大規模処理は速くなります。ユーザもハッピー、皆さんもハッピー、さて家に帰りましょう。 ……しかし、次はだれかからこう聞かれることでしょう。 「CPUの使用率が異様に低いままなんだけど……?」 「CPUの使用率がずっと100%で張り付いているんだけど……?」 どっちやねん!と思うでしょうが、どちらも大規模データを処理するときに特に起こりえる問題です。 ボトルネックは、1つが解消すると、新たなポイントが明らかになるものです。そして多くのケースにおいて、ディスクI/Oボトルネックが解消した場合、次に詰まるのはCPUなのです。 CPUボトルネックは

    第4回 大規模データ処理におけるCPUの2大ボトルネックとは | gihyo.jp
  • 第5回 大規模データ処理でのCPUボトルネックを解消するには | gihyo.jp

    前回は、CPUボトルネックを解消するアプローチとして「並列化」および「リソース・マネジメント」をご紹介しました。今回は、それらをOracle Database上で実装する方法についてご紹介します。環境はOracle Database 11gR2を想定しています。 処理を並列化する2つの手法 Oracle Database上のSQL処理を並列化するには、2つの手法があります。 図1 複数のプロセスが個別処理する 1.アプリケーション側でSQLを分割して同時実行する Oracle Databaseでは、1セッションあたり1つのサーバ・プロセスが立ち上がります。複数セッションから複数のSQLを同時に実行すれば、複数のOSプロセスが処理を行うので、複数のCPUコアが利用されます。 この手法は、SQLを分割する手間がありますが、大規模バッチでは有効です。 2.Oracle Databaseの並列化機

    第5回 大規模データ処理でのCPUボトルネックを解消するには | gihyo.jp
  • Goの新しい構造化ロガーを体験しよう | gihyo.jp

    logパッケージ Goには標準ライブラリとしてlogパッケージが提供されています。logパッケージで行えることはそう多くはありません。たとえば、デフォルトではログは標準エラー出力に出力されますが、log.SetOutput関数で出力先を変更できます。また、利用する関数によってログを出力した後の挙動をコントロールできます。たとえば、log.Print関数はログを出力するだけですが、log.Fatal関数はログ出力後にos.Exit(1)を呼び出します。log.Panicはログ出力後に出力したログと同じ文言を引数としてパニックを発生させます。 logパッケージでは、ログとともに関連するデータを出力したい場合は、log.Printf関数を用います。次のように、書式を指定して出力します。 log.Printf("request_url=%s request_method=%s", r.URL, r

    Goの新しい構造化ロガーを体験しよう | gihyo.jp
    youko03
    youko03 2023/11/30
    “slog”
  • パスワードのない世界に向けて ~TechFeed Conference 2022講演より | gihyo.jp

    記事は、2022年5月に開催されたTechFeed Conference 2022のセッション書き起こし記事「パスワードのない世界に向けて(えーじ⁠)⁠ — TechFeed Conference 2022講演より」を転載したものです。オリジナルはTechFeedをご覧ください。 皆さんこんにちは。えーじです。今日は「パスワードのない世界に向けて」というお話をしたいと思います。 パスワードだけでは守りきれない世の中に 皆さんご存知のように、今多くのWebサイトはパスワードを使ったログインが主流です。 しかし、どんなに堅牢なシステムでも、ユーザーさんが弱いパスワードを作ってしまったり、同じパスワードを複数サイトで使い回してしまったり、フィッシングに引っかかってしまえばアカウントは乗っ取られてしまいます。 近年フィッシングが急増していることからもわかるように、パスワードだけのシステムでは守り

    パスワードのない世界に向けて ~TechFeed Conference 2022講演より | gihyo.jp
    youko03
    youko03 2023/10/12
  • 第4回 クエリ評価エンジンと実行計画―“シェフおまかせ”はいつも美味しいのか(1) | gihyo.jp

    はじめに 結果として、SQLのような関係型の言語は非手続き型の言語と呼ばれるが、これはユーザは「いかに」ではなく「何を」を指定する―つまり、獲得するための手続きを指定することなしにユーザは何が欲しいかをいう―からである。 ─⁠─ Christpher J. Date[1] Webの入力フォームであれ、コマンドラインツールであれ、インタフェースにかかわらず、リレーショナルデータベースに対する操作はSQLという専用の言語で行われます。ユーザ(プログラマ含む)が意識的にコーディングするのは通常このSQLレベルまでで、あとはDBMSが処理を終え、結果を返却するのを待つのみです。SQLRDBMSにおいては、ユーザはデータのありかを知る必要もなければ、そこへのアクセス方法も考えません。そういう仕事は、全部DBMSに任せています。 このプロセスは、通常「プログラミング」と呼ばれるものとはかなり異なりま

    第4回 クエリ評価エンジンと実行計画―“シェフおまかせ”はいつも美味しいのか(1) | gihyo.jp
  • Go言語プログラミングエッセンス

    このの概要 Go言語ユーザーとして,「もう一段レベルアップしたい」「開発に使いたい」と思っている方に向けた,Go言語の解説です。関数やパッケージの使い方,並行処理,テストといった基的なトピックにおいて,「こう書くと綺麗になる」「こう書くとパフォーマンスが上がる」といったエッセンスを紹介します。後半ではCLIアプリ/Webアプリの開発手順や,現場で使われている便利なパッケージなど,著者が業務やOSSの開発で培った技術をふんだんに紹介します。 こんな方におすすめ Go言語の入門を終え,さらに深く学びたい人 第1章 プログラミング言語Goとは 1.1 Goの簡単な歴史 1.2 Goの立ち位置 1.3 Goが利用される場面 標準でUTF-8をサポート マルチプラットフォーム 並行処理の扱いやすさ ストリーム指向 シングルバイナリ 1.4 教育用途としてのGo 1.5 なぜGoが使われるのか

    Go言語プログラミングエッセンス
    youko03
    youko03 2023/02/17
  • 『みてね』のTerraform構成~モノリポジトリとマルチリポジトリ~ | gihyo.jp

    株式会社MIXIで『家族アルバム みてね』のSREをしているkohbisです。今回はTerraformのリポジトリ構成についてお話いたします。 Terraformとは TerraformとはHashiCorpが提供するIaC(Infrastructure as Code) ツールであり、HCL(HashiCorp Configuration Language)という独自の文法でクラウドやオンプレミスのインフラリソースを宣言的に定義し、管理やプロビジョニングを行うことができます。 TerraformAPIを通じてプラットフォームやサービス上にリソースを作成します。Terraformは対象とのAPIのやり取りを「プロバイダ」と呼ばれるプラグインに依存しており、Terraformを利用する場合はまずはじめにどのプロバイダを必要とするのかを定義することになります。 プロバイダの一覧はTerraf

    『みてね』のTerraform構成~モノリポジトリとマルチリポジトリ~ | gihyo.jp
    youko03
    youko03 2022/10/27
  • パーフェクトRuby on Rails【増補改訂版】

    このの概要 対象バージョンをRuby 2.6/2.7系,Rails 6.0系に変更した増補改訂版。新しいRailsのバージョンでサポートされた機能の紹介だけでなく,Dockerでの導入方法など最新の実践的内容を追加し,現在のトレンドとなる開発スタイルを紹介します。 こんな方におすすめ Ruby on Rails 6.0の情報を知りたい人 Ruby on Railsの学習を始め,これから格的に使っていきたい人 書のサンプル 書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。 Part1 Rails ~ overview 1章 Ruby on Railsの概要 1-1 Railsを使う前に 1-2 Railsの思想 1-3 Railsをはじめよう!! 1-4 scaffoldを使ってRailsでの開発を体験しよう 2章 Ruby on Rails

    パーフェクトRuby on Rails【増補改訂版】
    youko03
    youko03 2020/07/17
    Part5 エキスパートRailsが一番気になる
  • 1