サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
都知事選
hayashier.com
サービスを運用していると、様々な障害に遭遇することがあります。その際、原因特定のためにトラブルシューティングをしていくことになりますが、ここでは(ある程度)汎用的に適用できるトラブルシューティングを進めていく上での考え方をまとめます。 特定のサービスに向けたものではなく、一般化して記載しています。そのため、実際にはここに書かれた概念を前提に、サービス固有の知識と組み合わせてトラブルシューティングを進めていくことになります。 特にトラブルシューティングになれてない場合にはこれらを意識しておかないと、当てずっぽうな思いつきのトラブルシューティングになりやすくなります。その結果、原因特定まで遅くなったり、たどり着かない可能性も考えられます。慣れている人は無意識にできていたり、経験から原因の勘所に当たりをつけられることもあります。しかし、ここでの考え方を抑えておくと、慣れていないサービスや未知の事
Pocketのブックマークをはてなブックマークに移行しようとしたのですが、2021/05/23時点では残念ながら、スパム対策機能のためにはてなブックマークのインポート機能が停止されていました。 はてなブックマークのインポート機能を、スパム対策のため一時的に停止します一方で、Pocketのエクスポート機能は存在し、はてなブックマークにはREST APIが用意されています。この2つを利用して移行を行います。 Pocketのエクスポート機能でエクスポートはてなブックマーク REST API手動で一つ一つ移行するのはめんどくさくてやりたくなかったため、こちらの機能およびAPIを利用して、一括で移行しました。 Pocket側の準備Pocketのエクスポート機能でエクスポートを参考にPcketのエクスポート機能でエクスポートすると、ril_export.htmlというファイル名でエクスポートされます。
普段、Webサイトなどを運営しているといった場合に、おおよそアプリケーションを動作させる分には、アプリケーションレイヤーより下の部分については意識しなくても良いこともあるかもしれません。しかしながら、複数のコンポーネントを組み合わせたり、大規模になってきたり、特殊な環境、および複雑な問題に出くわすようになってきたりすると、それらを対処するためには、TCPなどのレイヤーについても、しっかりと理解しておく必要があります(雑に書き殴っているため、後半になるほどまとまりきっていませんが、ご容赦ください)。 以下の項目に分けて概要を説明します。 機能状態遷移図データ構造その他機能概要TCPの機能について、大きく以下の観点で説明していきます。 コネクション管理シーケンス番号再送制御順序制御ポート番号ウィンドウ制御フロー制御輻輳制御詳細コネクション管理目的: コネクション上でデータとACKをやりとりする
Redis本を執筆しました。Memcachedとの詳細な比較も付録で取り上げていますので、こちらも是非合わせてご覧ください。 Memcachedは以下の特徴を持ったインメモリのKVSとなります。 シンプルマルチスレッド処理ロジックの半分はサーバで、半分はクライアントサーバ同士では通信は行わず、互いに独立コマンドはO(1)TTLに従った失効と、LRUによるevictionlibeventによるイベント駆動処理なお、合わせてMemcachedのソースコードの各種ファイルの概要についての詳細は以下の記事をご覧ください。 Redis / Memcached Source Code Reading – Overview –MemcachedのSETコマンド実行時のソースコード中のフローの詳細については、以下の記事をご覧ください。 Dive Deep Memcached Internals ~ SET
ELBのアクセスログの事象分析について、ShellScriptとAthenaを用いた実行例についてまとめます。 NLBNo.1 : 最も多いリクエスト元のクライアントIPアドレスのリクエスト数$ gunzip -dc * | awk '{print $6}' | awk -F ":" '{print $1}' | sort | uniq -c | sort -r| head -n 10 No.2 : 時間毎のリクエスト数$ gunzip -dc * | awk '{print substr($3,0,13)}' | sort | uniq -c | awk '{print $2, $1}' No.3 : 分単位でのリクエスト数$ gunzip -dc * | awk '{print substr($3,0,16)}' | sort | uniq -c | awk '{print $2, $
——————————————————————————————————————————————————— Redis(REmote DIrectory Server)Redisは例えば以下の特徴を持つLLOOGGを元としたインメモリの非リレーショナルのデータベースです。 String, List, Hash, Set, Sorted Setに代表される豊富なデータ型シングルスレッド処理イベント駆動処理 by aeライブラリ通常RESPプロトコルによるクライアント/サーバーモデルでリクエスト/レスポンスデータは条件を満たす場合にメモリ最適化されて保存。CPUとのトレードオフRAXを利用したメモリ利用量の最適化(Redis 4.0~)この記事では、入門から始まり、実装をより意識することで深く理解することを目標としています。 以下の説明中の(*)マークは、特にVanilla Redisでの話となり
Redis の公式ドキュメントを一読しておこうと思い、読んでまとめてみました。( 2018/05/06 時点) ただし、Redis 4.0 については、公式ドキュメントに一部内容が含まれますが、RDB, AOF や Docker/NAT サポート辺り等、その他複数機能強化や変更点がありますので、詳細は、下記リリースノートを参照していただければと思います。 https://raw.githubusercontent.com/antirez/redis/4.0/00-RELEASENOTES 別途、Redisの機能のまとめ記事等は以下のURLを参照いただければと存じます。 Dive Deep Redis ~ 入門から実装の確認まで ~Redis / Memcached Source Code Reading – Overview –Dive Deep Redis Internals ~ GET
RetryAWS CLI, AWS SDKのリトライ処理について、API実行時は、エクスポネンシャルバックオフのアルゴリズムによるリトライ処理を実行しますが、その具体的な内容について追ってみました。 リトライ処理は、リトライの基準、エクスポネンシャルバックオフの挙動等、CLIやSDKの言語、サービスによって異なることがあります。 AWS CLI or Python SDK!!! 以下の記載内容は現在では古い記載もあります。今現在はAWS CLIで、試行回数などの設定ができるようなっています。詳細は、下記ドキュメントをご参照ください。 !!! AWS CLI retriesデフォルトのリトライ設定についてhttps://github.com/boto/botocore/blob/1.16.1/botocore/data/_retry.json#L91-L113 ランダムな振れ幅を持ったエクス
このページを最初にブックマークしてみませんか?
『hayashier.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く