momoの手帳

個人でevernoteに記録してたけどデータ欠損してたので数少ないデータをブログへお引越しすることにした。和暦も変わることだし新たに得た知識とか趣味のこととか書いていきます。現在、お引越し中

MySQLのビューとは

MySQLの過去メモ
 
■Viewとは
いくつかあるテーブルを1つのテーブルとして集約する機能
create viewの指定方法としてALGORITHM、DEFINER、SQL SECURITYのオプション?が指定できる
 
ALGORITHM...ビューの処理方法の指定オプション
DEFINER...viewに対してのアクセス権限の設定
SQL SECURITY...ビューの実行においてビューに対するアクセス権限をチェックする時、どのMySQLアカウントを使用すべきかを決定
 
■作成例
create ALGORITHM=UNDEFINED DEFINER=`momos`@`localhost` SQL SECURITY DEFINER view test_view ( ww_id, ss_name, ww_name) AS select w.id, s.name, w.name from mtb_work AS w LEFT JOIN mtb_status AS s ON w.id = s.id;
 
■設定変更例 (DEFINERの変更)
ALTER ALGORITHM=UNDEFINED DEFINER=`momo`@`localhost` SQL SECURITY DEFINER view test_view ( ww_id, ss_name, ww_name) AS select w.id, s.name, w.name from mtb_work AS w LEFT JOIN mtb_status AS s ON w.id = s.id;
 
 
参考文献

ロードバランサーにおけるL4,L7の違い

これはjuniperのロードバランサーをはじめて構築したときに予習したときの随分昔のメモ
 
◆L4
IPアドレスによる負荷分散
LBでTCPコネクションが終端しない
NAT変換型とDSR(DirectServerReturn)型[Macアドレス変換型]がある
 
-NAT型
    クライアントから見た場合の接続先IPアドレスはLBのものとなる
    バックエンドから見た場合の接続元IPアドレスはLBのものとなる
    NATしてる関係ですべての通信がLBを経由する
 
-DSR型
    クライアントから見た場合の接続先IPアドレスはLBのものとなる
    戻りパケットがLBを経由しないことからバックエンドから見た場合の接続元IPアドレスはクライアントのIPアドレスとなる
    リクエスト先であるサーバーのIPアドレスを見せない。さも、LBがサーバーであるかのような振る舞いをさせるためにIPアドレスはLBのものとして返す
     ループバックアドレスARPに回答させない
 
◆L7
URLやHTTPヘッダーによる負荷分散
クライアントから見た場合の接続先IPアドレスはLBのものとなる
バックエンドから見た場合の接続元IPアドレスはLBのものとなる
X-Forwarded-Forのヘッダーを利用したクライアントのIPアドレスを保持する

JuniperのL2SWのVLAN割り当て方法

手始めにVLANの割り当てしといてと言われたときのメモ

juniperのSW導入直後で誰も何もわからないものだったのでその時のメモ

 
■注意事項
Juniperスイッチのポート番号の採番は 0番 スタートなので注意
Juniperスイッチは、コンフィグファイルを読み込ませる事で設定反映させるので、 変更しただけでは設定が反映しない
 
■コマンドリスト
・前回の設定が反映されてないか確認
show | compare
・interface情報の確認
show interfaces {ポート番号} terse
例) show interfaces ge-0/0/16 terse
 
・interface詳細情報
show configuration interfaces {ポート番号}
例) show configuration interfaces ge-0/0/16

no-traps; speed 100m; mtu 9212; link-mode full-duplex; ether-options { auto-negotiation; } unit 0 { family ethernet-switching { interface-mode access; storm-control default; } }
・VLAN確認
show vlans
・VLAN作成
set vlans vlan{VLAN番号} vlan-id {番号}
set vlans vlan{VLAN番号} description {名前}
 
・VLANをポートに割り当て(アサイン) ※#の行は省略してもよいかも
configure
#set interfaces {ポート番号} description {ポートの名前}
#set interfaces {ポート番号} no-traps
#set interfaces {ポート番号} speed 100m
#set interfaces {ポート番号} mtu 9212
set interfaces {ポート番号} ether-options auto-negotiation
set interfaces {ポート番号} unit 0 family ethernet-switching interface-mode access
set interfaces {ポート番号} unit 0 family ethernet-switching vlan members {VLAN番号}
 
・設定保存
commit

SSL証明書_暗号化スイーツの見方

  1. 暗号スイートの名前 AES128-SHA
  2. プロトコルのバージョン SSLv3
  3. 鍵交換に使われる暗号化アルゴリズム Kx=RSA。Kx は Key Exchange の略。
  4. 認証に使われる暗号化アルゴリズム Au=RSAAu は Authentication の略。
  5. アプリケーション層の暗号化に使われる暗号化アルゴリズム Enc=AES(128)。Enc は Encryption の略。
  6. メッセージの検証に使われるハッシュアルゴリズム Mac=SHA1Mac は Message Authentication Code の略。
という見方ができる
 
次にApacheでSSLv1.2以外無効にするという設定を入れたい場合下記のような設定を投入する
SSLProtocol All -TLSv1 -TLSv1.1 -SSLv2 -SSLv3
これは全体を許可してそこから-で除外していく方式で記述している
 
さらに暗号化スイーツの制限を実施する場合は下記のような例になる
 
SSLCipherSuite HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!DH
 
以外にもApacheマニュアルが参考になった
 
 

SSDのスペック調査 -fioを用いた測定-

年末ごろにSSDのスペック調査をした時のことのメモ
 
・fioとは
ディスクの負荷をシミュレーションしてreadやwriteの速度など負荷を与えながらスペックを計測するもの
SSDの導入検査をするときに使用した
 
・環境
CentOS 6.10
 
・インストール準備
yum install epel-release
yum install fio
 
・使い方
並列で実行するようであれば設定をファイルに記述して実行する
単一であればfioの後ろにオプションをつけて実行するだけで良い
例1) fio --name=random-writers --ioengine=libaio --iodepth=4 --rw=randwrite --bs=32k --direct=0 --size=64m --numjobs=4
 
例2)
測定設定テンプレ
-read-
[root@000 ~]# cat bench_read.job
[global]
ioengine=libaio
direct=1
invalidate=1
group_reporting
directory=/home
filename=test.bin
runtime=60

[Rand Read 4k]
readwrite=randread
size=4G
bs=4k
iodepth=32
numjobs=1

-write-
[root@000 ~]# cat bench_write.job
[global]
ioengine=libaio
direct=1
invalidate=1
group_reporting
directory=/home
filename=test.bin
runtime=60

[randwrite-4KB]
readwrite=randwrite
size=4G
bs=4k
iodepth=32
numjobs=1

・出力結果
読み込み
[root@000 ~]# fio bench_read.job
Rand Read 4k: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=32
fio-2.0.13
Starting 1 process
Rand Read 4k: Laying out IO file(s) (1 file(s) / 4096MB)
Jobs: 1 (f=1): [r] [100.0% done] [606.8M/0K/0K /s] [155K/0 /0  iops] [eta 00m:00s]
Rand Read 4k: (groupid=0, jobs=1): err= 0: pid=15338: Thu Nov 29 11:50:55 2018
  read : io=4096.0MB, bw=622577KB/s, iops=155644 , runt=  6737msec
    slat (usec): min=2 , max=272 , avg= 5.41, stdev= 1.78
    clat (usec): min=36 , max=2118 , avg=199.77, stdev=35.58
     lat (usec): min=40 , max=2120 , avg=205.22, stdev=36.26
    clat percentiles (usec):
     |  1.00th=[  177],  5.00th=[  183], 10.00th=[  185], 20.00th=[  187],
     | 30.00th=[  189], 40.00th=[  191], 50.00th=[  193], 60.00th=[  195],
     | 70.00th=[  197], 80.00th=[  199], 90.00th=[  205], 95.00th=[  241],
     | 99.00th=[  346], 99.50th=[  350], 99.90th=[  362], 99.95th=[  426],
     | 99.99th=[ 1288]
    bw (KB/s)  : min=422232, max=649512, per=99.83%, avg=621545.85, stdev=66515.11
    lat (usec) : 50=0.01%, 100=0.01%, 250=95.46%, 500=4.51%, 750=0.02%
    lat (msec) : 2=0.01%, 4=0.01%
  cpu          : usr=13.42%, sys=85.58%, ctx=24271, majf=0, minf=54
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
     issued    : total=r=1048576/w=0/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
   READ: io=4096.0MB, aggrb=622577KB/s, minb=622577KB/s, maxb=622577KB/s, mint=6737msec, maxt=6737msec

Disk stats (read/write):
    md2: ios=1022594/17, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=524288/11, aggrmerge=0/11, aggrticks=16196/7, aggrin_queue=16137, aggrutil=97.91%
  sda: ios=493250/11, merge=0/11, ticks=14686/7, in_queue=14642, util=97.09%
  sdb: ios=555326/11, merge=0/11, ticks=17707/8, in_queue=17633, util=97.91%

・書き込み
[root@000 ~]# fio bench_write.job
randwrite-4KB: (g=0): rw=randwrite, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=32
fio-2.0.13
Starting 1 process
Jobs: 1 (f=1): [w] [100.0% done] [0K/274.2M/0K /s] [0 /70.2K/0  iops] [eta 00m:00s]
randwrite-4KB: (groupid=0, jobs=1): err= 0: pid=15346: Thu Nov 29 11:53:34 2018
  write: io=4096.0MB, bw=262817KB/s, iops=65704 , runt= 15959msec
    slat (usec): min=2 , max=835 , avg=11.02, stdev= 9.74
    clat (usec): min=77 , max=65027 , avg=474.57, stdev=947.59
     lat (usec): min=96 , max=65032 , avg=485.79, stdev=947.52
    clat percentiles (usec):
     |  1.00th=[  326],  5.00th=[  374], 10.00th=[  394], 20.00th=[  414],
     | 30.00th=[  426], 40.00th=[  438], 50.00th=[  446], 60.00th=[  458],
     | 70.00th=[  470], 80.00th=[  482], 90.00th=[  498], 95.00th=[  516],
     | 99.00th=[  588], 99.50th=[  804], 99.90th=[ 3792], 99.95th=[19840],
     | 99.99th=[43264]
    bw (KB/s)  : min=222920, max=288520, per=99.88%, avg=262495.74, stdev=19832.98
    lat (usec) : 100=0.01%, 250=0.22%, 500=90.16%, 750=9.06%, 1000=0.15%
    lat (msec) : 2=0.23%, 4=0.09%, 10=0.02%, 20=0.03%, 50=0.03%
    lat (msec) : 100=0.01%
  cpu          : usr=8.05%, sys=85.70%, ctx=4495, majf=0, minf=23
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
     issued    : total=r=0/w=1048576/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
  WRITE: io=4096.0MB, aggrb=262817KB/s, minb=262817KB/s, maxb=262817KB/s, mint=15959msec, maxt=15959msec

Disk stats (read/write):
    md2: ios=0/1044661, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=0/1048553, aggrmerge=0/49, aggrticks=0/107397, aggrin_queue=107396, aggrutil=97.47%
  sda: ios=0/1048530, merge=0/73, ticks=0/106441, in_queue=106439, util=95.37%
  sdb: ios=0/1048577, merge=0/26, ticks=0/108354, in_queue=108353, util=97.47%