CentOS6.10にlocustのインストール(メモ)
概要
サーバの負荷テストにjmeterの代わりにlocustというツールを利用できるのでそれについて勉強中です。このツールにおいてpythonの言語でテスト内容を作成します。
ソフトウェアのバージョン
locust: 1.4.2(python3.6以上が必要)
python: 3.7
pip: 21.0
setuptools: 52.0.0
インストール手順
yumの設定
2020/11/30にcentos6のサポートが終了したため、yumを使用する時に下記のエラーが発生しました。
YUMREPO ERROR: ALL MIRROR URLS ARE NOT USING FTP, HTTP[S] OR FILE
・「解決方法」
1)yumのreposのmirrorlistをコメントアウトし、新しいbaseurlを追加します。
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=https://vault.centos.org/6.10/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=https://vault.centos.org/6.10/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=https://vault.centos.org/6.10/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
2) ファイルの修正が完了したら、下記のコマンドを実行します。
# yum clean all
python3.7のインストール(時間がかかります)
下記の方のサイトを参考し、python3.7のインストールを行います。
https://benad.me/blog/2018/07/17/python-3.7-on-centos-6/
# yum install -y xz
# yum groupinstall -y 'Development Tools'
# cd /tmp
# curl -LO 'https://www.openssl.org/source/openssl-1.1.0h.tar.gz'
# tar -xf openssl-1.1.0h.tar.gz
# cd openssl-1.1.0h
# ./config shared --prefix=/usr/local/openssl11 --openssldir=/usr/local/openssl11 && make && make install
# cd ..
# curl -LO 'https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz'
# tar -xf Python-3.7.0.tar.xz
# cd Python-3.7.0
In Modules/Setup.dist, edit the following, making sure you remove the leading pound characters:
SSL=/usr/local/openssl11
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
# yum install -y libffi-devel bzip2-devel ncurses-devel gdbm-devel xz-devel sqlite-devel readline-devel zlib-devel libuuid-devel
# LDFLAGS="-Wl,-rpath=/usr/local/openssl11/lib" ./configure --prefix=/usr/local/python37 --with-openssl=/usr/local/openssl11 --with-system-ffi && make && make install
# ln -s /usr/local/python37/bin/*3.7* /usr/local/bin
pipとsetuptoolsのバージョンアップ
1) setuptoolsのバージョンアップ
下記のコマンドを実行します。
# pip3.7 install setuptools==52.0.0
2) pipのバージョンアップ
# pip3.7 install pip==21.0
locustのインストール
下記のコマンドを実行します。
# pip3.7 install locust==1.4.2
locustのスクリプトの作成
1) 下記のパスにlocustというファイルを作成します。
# cd /usr/local/bin/
# touch locust
2) locustのファイル内に下記の内容を入力します。
#!/usr/local/bin/python3.7
# -*- coding: utf-8 -*-
import re
import sys
from locust.main import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(main())
3) locustのファイルに実行権限を付与します。
# chmod +x locust
動作確認
1) locustfile.pyを作成します。
from locust import HttpUser, between, task
class WebsiteUser(HttpUser):
wait_time = between(5,15)
@task
def index(self):
self.client.get("/")
2) locustを起動します。
作成したlocust.pyのディレクトリに下記のコマンドを実行します。
※locustのweb画面のホストIPを--web-hostで指定できます。指定がなければ、localhostがデフォルトとなります。
$ locust
3) locustのweb画面にアクセスします。
http://localhost:8089
Author And Source
この問題について(CentOS6.10にlocustのインストール(メモ)), 我々は、より多くの情報をここで見つけました https://qiita.com/sabewe/items/810a9acaf523553a3d63著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .