コンテンツへスキップ

キャッシュヒット率、デッドロック発生回数等の確認

psql -U postgres -x -c "select * from pg_stat_database where datnme = 'dvdrental';"

PS E:\> psql -U postgres -x -c "select * from pg_stat_database where datname = 'dvdrental';"
-[ RECORD 1 ]---------+------------------------------
datid                 | 16384
datname               | dvdrental
numbackends           | 0
xact_commit           | 4131
xact_rollback         | 1
blks_read             | 2212583
blks_hit              | 2307441
tup_returned          | 560370952
tup_fetched           | 119685
tup_inserted          | 677037
tup_updated           | 40
tup_deleted           | 37
conflicts             | 0
temp_files            | 0
temp_bytes            | 0
deadlocks             | 0
checksum_failures     |
checksum_last_failure |
blk_read_time         | 0
blk_write_time        | 0
stats_reset           | 2019-09-20 10:16:28.019498+09

・キャッシュヒット率

psql -U postgres -x -c "select (blks_hit * 100.0)/(blks_hit + blks_read) from pg_stat_database where datname = 'dvdrental';"

PS E:\> psql -U postgres -x -c "select (blks_hit * 100.0)/(blks_hit + blks_read) from pg_stat_database where datname = 'dvdrental';"
-[ RECORD 1 ]-----------------
?column? | 62.0830075708206989

・テーブルに対する処理

psql -U postgres -d dvdrental -x -c "select * from pg_stat_user_tables where relname = 'testtable';"

PS E:\> psql -U postgres -d dvdrental -x -c "select * from pg_stat_user_tables where relname = 'testtable';"
-[ RECORD 1 ]-------+------------------------------
relid               | 16391
schemaname          | public
relname             | testtable
seq_scan            | 2293
seq_tup_read        | 492528000
idx_scan            |
idx_tup_fetch       |
n_tup_ins           | 993000
n_tup_upd           | 0
n_tup_del           | 0
n_tup_hot_upd       | 0
n_live_tup          | 993000
n_dead_tup          | 0
n_mod_since_analyze | 83000
last_vacuum         |
last_autovacuum     |
last_analyze        |
last_autoanalyze    | 2019-09-20 10:50:22.847133+09
vacuum_count        | 0
autovacuum_count    | 0
analyze_count       | 0
autoanalyze_count   | 18

・動作中のバックエンドプロセス情報

psql -U postgres -d dvdrental -x -c "select * from pg_stat_activity;"

PS E:\> psql -U postgres -d dvdrental -x -c "select * from pg_stat_activity;"
-[ RECORD 1 ]----+--------------------------------
datid            |
datname          |
pid              | 2816
usesysid         | 10
usename          | postgres
application_name |
client_addr      |
client_hostname  |
client_port      |
backend_start    | 2019-09-20 10:15:48.140548+09
xact_start       |
query_start      |
state_change     |
wait_event_type  | Activity
wait_event       | LogicalLauncherMain
state            |
backend_xid      |
backend_xmin     |
query            |
backend_type     | logical replication launcher
-[ RECORD 2 ]----+--------------------------------
datid            |
datname          |
pid              | 5456
usesysid         |
usename          |
application_name |
client_addr      |
client_hostname  |
client_port      |
backend_start    | 2019-09-20 10:15:48.335029+09
xact_start       |
query_start      |
state_change     |
wait_event_type  | Activity
wait_event       | AutoVacuumMain
state            |
backend_xid      |
backend_xmin     |
query            |
backend_type     | autovacuum launcher
-[ RECORD 3 ]----+--------------------------------
datid            | 16384
datname          | dvdrental
pid              | 9096
usesysid         | 10
usename          | postgres
application_name | psql
client_addr      | ::1
client_hostname  |
client_port      | 53631
backend_start    | 2019-09-23 05:50:09.886686+09
xact_start       | 2019-09-23 05:50:09.942008+09
query_start      | 2019-09-23 05:50:09.942008+09
state_change     | 2019-09-23 05:50:09.942016+09
wait_event_type  |
wait_event       |
state            | active
backend_xid      |
backend_xmin     | 10652
query            | select * from pg_stat_activity;
backend_type     | client backend
-[ RECORD 4 ]----+--------------------------------
datid            | 16384
datname          | dvdrental
pid              | 4392
usesysid         | 10
usename          | postgres
application_name | psql
client_addr      | ::1
client_hostname  |
client_port      | 53634
backend_start    | 2019-09-23 05:50:09.889032+09
xact_start       | 2019-09-23 05:50:09.94383+09
query_start      | 2019-09-23 05:50:09.94383+09
state_change     | 2019-09-23 05:50:09.943841+09
wait_event_type  |
wait_event       |
state            | active
backend_xid      |
backend_xmin     | 10652
query            | select count(*) from testtable;
backend_type     | client backend
-[ RECORD 5 ]----+--------------------------------
datid            |
datname          |
pid              | 4628
usesysid         |
usename          |
application_name |
client_addr      |
client_hostname  |
client_port      |
backend_start    | 2019-09-20 10:15:47.657203+09
xact_start       |
query_start      |
state_change     |
wait_event_type  | Activity
wait_event       | BgWriterMain
state            |
backend_xid      |
backend_xmin     |
query            |
backend_type     | background writer
-[ RECORD 6 ]----+--------------------------------
datid            |
datname          |
pid              | 8744
usesysid         |
usename          |
application_name |
client_addr      |
client_hostname  |
client_port      |
backend_start    | 2019-09-20 10:15:48.357302+09
xact_start       |
query_start      |
state_change     |
wait_event_type  | Activity
wait_event       | CheckpointerMain
state            |
backend_xid      |
backend_xmin     |
query            |
backend_type     | checkpointer
-[ RECORD 7 ]----+--------------------------------
datid            |
datname          |
pid              | 7876
usesysid         |
usename          |
application_name |
client_addr      |
client_hostname  |
client_port      |
backend_start    | 2019-09-20 10:15:47.294516+09
xact_start       |
query_start      |
state_change     |
wait_event_type  | Activity
wait_event       | WalWriterMain
state            |
backend_xid      |
backend_xmin     |
query            |
backend_type     | walwriter

 

 

MachineLearning15minutes -Channel-
全脳アーキテクチャ若手の会
TrailHead
Team AI
ディープラーニング入門 Chainer チュートリアル
Deep Learning JP
ツイッター:DLHacks
Elements of AI
Aidemy
NVIDIA Ai Podcat
Learn with Google AI

順不同 更新日 8/9/2019

pg_controlファイル:リカバリ時に参照されるファイル。

pg_control -D <データベースクラスタディレクトリ>

データベースクラスタディレクトリのglobalディレクトリ配下に格納されたデータファイルを読むコマンド。

PS E:\my-document> pg_controldata -D $p.dirdbcluster
pg_controlバージョン番号:                    1201
カタログバージョン番号:                      201909212
データベースシステム識別子:                  6858058649328852080
データベースクラスタの状態:                  運用中
pg_control最終更新:                          2019/09/02 5:11:46
最終チェックポイント位置:                    0/131C0460
最終チェックポイントのREDO位置:              0/131C0460
最終チェックポイントのREDO WALファイル:      000000020000000000000013
最終チェックポイントの時系列ID:              2
最終チェックポイントのPrevTimeLineID:        2
最終チェックポイントのfull_page_writes:      オン
最終チェックポイントのNextXID:               0:10705
最終チェックポイントのNextOID:               24576
最終チェックポイントのNextMultiXactId:       1
最終チェックポイントのNextMultiOffset:       0
最終チェックポイントのoldestXID:             479
最終チェックポイントのoldestXIDのDB:         1
最終チェックポイントのoldestActiveXID:       0
最終チェックポイントのoldestMultiXid:        1
最終チェックポイントのoldestMultiのDB:       1
最終チェックポイントのoldestCommitTsXid:     0
最終チェックポイントのnewestCommitTsXid:     0
最終チェックポイント時刻:                    2019/09/02 5:11:46
UNLOGGEDリレーションの偽のLSNカウンタ:       0/3E8
最小リカバリ終了位置:                        0/0
最小リカバリ終了位置のタイムライン:          0
バックアップ開始位置:                        0/C000060
バックアップ終了位置:                        0/0
必要なバックアップ最終レコード:              いいえ
wal_levelの設定:                             replica
wal_log_hintsの設定:                         オフ
max_connectionsの設定:                       100
max_worker_processesの設定:                  8
max_wal_sendersの設定:                       10
max_prepared_xactsの設定:                    0
max_locks_per_xactの設定:                    64
track_commit_timestampの設定:                オフ
最大データアラインメント:                    8
データベースのブロックサイズ:                8192
大きなリレーションのセグメント毎のブロック数:131072
WALのブロックサイズ:                         8192
WALセグメント当たりのバイト数:               16777216
識別子の最大長:                              64
インデックス内の最大列数:                    32
TOASTチャンクの最大サイズ:                   1996
ラージオブジェクトチャンクのサイズ:          2048
日付/時刻型の格納方式:                       64ビット整数
Float4引数の渡し方:                          値渡し
Float8引数の渡し方:                          値渡し
データベージチェックサムのバージョン:        0
認証用の疑似nonce:                           bb1d86aa4d7223431facbc8144ccccc452c0355ce5f9f5ead161b8ad4d9d8303

 

・コマンド結果を変数にセット

;--------------------;
; SetHostName.ttl
; コマンド結果を変数に格納 ;
;--------------------;
sendln 'hostname'
recvln
recvln
HostName=inputstr
wait '$' '#'

messagebox HostName 'ホスト名を変数にセット'

・文字列比較

;--------------------------;
; 文字列比較                ;
; strcompare               ;
; <string1> < <string2>	-1 ;
; <string1> = <string2>	0  ;
; <string1> > <string2>	1  ;
;--------------------------;
; 変数(HostName)にサーバ名をセットする。
include '.\SetHostName.ttl'

; コマンド結果を変数に格納
sendln 'cat /etc/redhat-release'
recvln
recvln
OsVersion=inputstr
wait '$' '#'

; 文字列比較
strcompare OsVersion 'CentOS release 6.10 (Final)'
if result = 0 then
    Contents =  'centos 6.10' 
    Kekka = 'OK'
else
    Contents = 'not centos 6.10' 
    Kekka = 'NG'
endif

; メッセージボックスの作成
; messagebox <メッセージ> <タイトル> <1の場合は改行出来る>
MESSAGE = 'ホスト名:['
strconcat MESSAGE HostName
strconcat MESSAGE ']\nOSバージョン:['
strconcat MESSAGE Contents
strconcat MESSAGE ']'

TITLE = '結果:['
strconcat TITLE Kekka
strconcat TITLE ']'

messagebox MESSAGE TITLE 1

・配列

;------;
; 配列 ;
;------;
;配列の要素数をセット
CountCommand = 3
strdim com CountCommand

com[0] = 'uname -a'
com[1] = 'echo $(date)'
com[2] = 'pwd'

for i 0 CountCommand - 1
    ; コマンド実行
    sendln com[i]
    recvln
    recvln
    ; コマンド結果を変数に格納
    Ret=inputstr
    wait '$' '#'
    messagebox Ret 'コマンド結果'
next

 

leaflet

現在地点を中心に表示する。

クリックした地点にピンを立てる。

実物はここをクリック。

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <title>Leaflet</title>
  <link rel="stylesheet" href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css" />
  <script src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js"></script>
  <script>
    window.addEventListener("load",function(){
        //位置情報の取得
        navigator.geolocation.getCurrentPosition(
            function(position){
                console.log(position);
                var lat = position.coords.latitude;
                var lon = position.coords.longitude;
                var disp = document.getElementById("disp");
                disp.innerHTML = "緯度" + lat + "度 / 経度:" + lon + "度";

                //leaflet
                var map = L.map('jmap');
                map.setView([lat, lon], 15);
                L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', {
                    attribution: "<a href='https://maps.gsi.go.jp/development/ichiran.html' target='_blank'>地理院タイル</a>"
                }).addTo(map);

                //クリックした位置にピンを立てる
                map.on('click', function(e){
                    //alert(e.latlng);
                    L.marker(e.latlng).addTo( map);
                    //var html = '<p>ここの緯度経度=' + e.latlng + '</p>';
                    //var popup = L.popup()
                    //.setLatLng(e.latlng)
                    //.setContent(html)
                    //.openOn(map);
                    var mdisp = document.getElementById("mdisp");
                    mdisp.innerHTML = e.latlng;
                });



            }
        );
    });


  </script>
</head>

<body onload="init()">
  <div id="jmap" style="width:100%;height:1000px"></div>
  <p>現在地(GPS):
  <div id="disp"></div>
  </p>
  <p>マーク地点:</p>
  <div id="mdisp"></div>
</body>

</html>

 

#gmtdefaults -D
#
#       GMT-SYSTEM 4.5.15 [64-bit] Defaults file
#
#-------- Plot Media Parameters -------------
PAGE_COLOR              = white
PAGE_ORIENTATION        = landscape
PAPER_MEDIA             = a4
#-------- Basemap Annotation Parameters ------
ANNOT_MIN_ANGLE         = 20
ANNOT_MIN_SPACING       = 0
ANNOT_FONT_PRIMARY      = Helvetica
ANNOT_FONT_SIZE_PRIMARY = 14p
ANNOT_OFFSET_PRIMARY    = 0.2c
ANNOT_FONT_SECONDARY    = Helvetica
ANNOT_FONT_SIZE_SECONDARY       = 16p
ANNOT_OFFSET_SECONDARY  = 0.2c
DEGREE_SYMBOL           = ring
HEADER_FONT             = Helvetica
HEADER_FONT_SIZE        = 36p
HEADER_OFFSET           = 0.5c
LABEL_FONT              = Helvetica
LABEL_FONT_SIZE         = 24p
LABEL_OFFSET            = 0.3c
OBLIQUE_ANNOTATION      = 1
PLOT_CLOCK_FORMAT       = hh:mm:ss
PLOT_DATE_FORMAT        = yyyy-mm-dd
PLOT_DEGREE_FORMAT      = ddd:mm:ss
Y_AXIS_TYPE             = hor_text
#-------- Basemap Layout Parameters ---------
BASEMAP_AXES            = WESN
BASEMAP_FRAME_RGB       = black
BASEMAP_TYPE            = fancy
FRAME_PEN               = 1.25p
FRAME_WIDTH             = 0.2c
GRID_CROSS_SIZE_PRIMARY = 0c
GRID_PEN_PRIMARY        = 0.25p
GRID_CROSS_SIZE_SECONDARY       = 0c
GRID_PEN_SECONDARY      = 0.5p
MAP_SCALE_HEIGHT        = 0.2c
POLAR_CAP               = 85/90
TICK_LENGTH             = 0.2c
TICK_PEN                = 0.5p
X_AXIS_LENGTH           = 25c
Y_AXIS_LENGTH           = 15c
X_ORIGIN                = 2.5c
Y_ORIGIN                = 2.5c
UNIX_TIME               = FALSE
UNIX_TIME_POS           = BL/-2c/-2c
UNIX_TIME_FORMAT        = %Y %b %d %H:%M:%S
#-------- Color System Parameters -----------
COLOR_BACKGROUND        = black
COLOR_FOREGROUND        = white
COLOR_NAN               = 128
COLOR_IMAGE             = adobe
COLOR_MODEL             = rgb
HSV_MIN_SATURATION      = 1
HSV_MAX_SATURATION      = 0.1
HSV_MIN_VALUE           = 0.3
HSV_MAX_VALUE           = 1
#-------- PostScript Parameters -------------
CHAR_ENCODING           = ISOLatin1+
DOTS_PR_INCH            = 300
GLOBAL_X_SCALE          = 1
GLOBAL_Y_SCALE          = 1
N_COPIES                = 1
PS_COLOR                = rgb
PS_IMAGE_COMPRESS       = lzw
PS_IMAGE_FORMAT         = ascii
PS_LINE_CAP             = butt
PS_LINE_JOIN            = miter
PS_MITER_LIMIT          = 35
PS_VERBOSE              = FALSE
TRANSPARENCY            = 0
#-------- I/O Format Parameters -------------
D_FORMAT                = %.12lg
FIELD_DELIMITER         = tab
GRIDFILE_FORMAT         = nf
GRIDFILE_SHORTHAND      = FALSE
INPUT_CLOCK_FORMAT      = hh:mm:ss
INPUT_DATE_FORMAT       = yyyy-mm-dd
IO_HEADER               = FALSE
N_HEADER_RECS           = 1
NAN_RECORDS             = pass
OUTPUT_CLOCK_FORMAT     = hh:mm:ss
OUTPUT_DATE_FORMAT      = yyyy-mm-dd
OUTPUT_DEGREE_FORMAT    = D
XY_TOGGLE               = FALSE
#-------- Projection Parameters -------------
ELLIPSOID               = WGS-84
MAP_SCALE_FACTOR        = default
MEASURE_UNIT            = cm
#-------- Calendar/Time Parameters ----------
TIME_FORMAT_PRIMARY     = full
TIME_FORMAT_SECONDARY   = full
TIME_EPOCH              = 2000-01-01T12:00:00
TIME_IS_INTERVAL        = OFF
TIME_INTERVAL_FRACTION  = 0.5
TIME_LANGUAGE           = us
TIME_UNIT               = d
TIME_WEEK_START         = Sunday
Y2K_OFFSET_YEAR         = 1950
#-------- Miscellaneous Parameters ----------
HISTORY                 = TRUE
INTERPOLANT             = akima
LINE_STEP               = 0.025c
VECTOR_SHAPE            = 0
VERBOSE                 = FALSE

■ 各種データの取得
・水深データ
日本海洋データセンターの500mメッシュ水深データを利用する。

・地図データ
国土交通省の

■ 緯度・経度の調べ方
国土地理院で緯度経度を調べる https://cyberjapandata.gsi.go.jp
緯経度グリッドの表示
画面右上の機能→グリッド表示→緯経度グリッドをオンにする

■ 海図作成に必要な知識や言葉
・緯度と経度
緯度:経度
基準:赤道:子午線
向き:北南:西東
角度:90:180

・子午線:イギリスのグリニッジ天文台跡を南北に通る線。赤道と直行する。

・赤道:南北の中心を子午線と直行する線

・測地系:500mメッシュ水深データは世界測地系(WGS-84)を採用

・GIS(Geographic Information System):地理情報システム

・GeoTIFF:地理参照情報が埋め込まれたイメージファイル形式

・シェープファイル(Shapefile):
米国Esri社が開発
3種類のファイルから成り立つ。
・*.shp:図形情報を格納するファイル
・*.shx:図形のインデックス情報を格納するファイル
・*.dbf:図形の属性情報を格納するファイル

・コンター:等高線
・QGIS:
・レイヤ
・ベクタ・データ:シェープファイル。点、線、麺で表現
・ラスタ・データ:GeoTIFF。マス目
・ベクタ・タイル
・地図投影法

■ 海図作成に使うコマンドのインストール方法 ※CentOS release 6.10 (Final)の場合
yum -y install netcdf*
yum -y install netcdf* GMT* hshhg-gmt-*
yum install gs*
yum install ghostscript*

■ GMTの基本設定
.gmtdefaultsファイルに設定する。又は、$ gmtdefaults −D コマンドで出力される。

■ 海図作成に使うコマンド
・blockmean:水深データをxyzデータに変換
-R:経度min(西)/経度max(東)/緯度min(南)/緯度max(北)
-I:格子間隔
blockmean -R135:48/135:54/33:27/33:33 -I1c > file.xyz

・surface:グリッドデータを作成
-R:経度min(西)/経度max(東)/緯度min(南)/緯度max(北)
-G:グリッドファイル
-T:テンション
-I:格子間隔
surface file.xyz -R135:48/135:54/33:27/33:33 \
-Gfile.grd -T0.4 -I1c

・grdcontour:等深線を書く
-J:地図の図法 メルカトル図法 scale15
-R:経度min(西)/経度max(東)/緯度min(南)/緯度max(北)
-W:等高線と等高線に書く数値に使うペン属性を指定
-C:等高線の間隔
-A:等高線に書く数値の間隔
-Y:プロットの原点を指定値より移動する。
-P:縦置き描画モードを選択する。指定無しはDefaultsのPAPER_MEDIAの紙サイズ
-V:標準エラー出力に経過報告を送る
-K:さらに PostScript コードが後に続くときに使用する
$ grdcontour file.grd -JM15 -R135:48/135:54/33:27/33:33 \
-W1 -C1 -A20f10t -Y4 -P -V -K > file.ps

・pscoast:海岸線を書く
-R:経度min(西)/経度max(東)/緯度min(南)/緯度max(北) dd:mm[:ss]で指定する(Defaultの指定方法)
-J:地図の図法 メルカトル図法 scale15
-D:海岸線表現精度を指定。f=完全,h=高精度,i=中精度,l=低精度,c=雑
-W:等高線と等高線に書く数値に使うペン属性を指定
-G:陸地の色を指定
-I:河川流路
-K:
-V:
-O:
pscoast -R135:48/135:54/33:27/33:33 -J -Df -W1 \
-G255/104/51 -If -K -V -O > file.ps

・psbasemap:海図の枠を書く
-R:
-J:
-B:
-O:
-V:
psbasemapp -R -J -BN -O -V >> file.ps

・ps2raster:psファイルをpngに変換
-T: 出力ラスタフォーマットを設定。g=png,f=pdf,j=jpeg
-E:ラスタの解像度を dpi 単位で設定
-A: 画像の内容に必要な最小の大きさに BoundingBox(四角の箱)を調整する
$ ps2raster file.ps -Tj -E1024 -A

・gdal_contour:シャープファイルを作成する。
-i:等高線の間隔
-a:標高属性を付ける
gdal_contour -i 1 -a elev file.grd file.shp

・geotiff:座標つきの画像ファイルを作成する。

・psxy:線や文字列を書く
-SI:size/string[[%font] sizeでフォントサイズ、stringで文字列を指定、%fontでフォントを指定

■ 参考
・http://hydro.iis.u-tokyo.ac.jp/~agata/archive/GMT334/doc/html/tutorial/node1.html