---
# System prepended metadata

title: Untitled

---

R-ISUCON操作マニュアル
---------------

はじめに以下の操作を行い、問題なく動作することを確認してください。


### 起動したEC2インスタンスに `ubuntu` ユーザで SSH ログインする

例:

```bash
ssh -i <お渡しした鍵> ubuntu@<お渡ししたドメイン名>
```

ログイン後に`sudo su - isucon`ユーザーでログインしてください。
もし、ログインできない場合は主催者に確認してください。


### ディレクトリ構成

参考実装のアプリケーションコードおよび、スコア計測用プログラムは `/home/isucon` ディレクトリ以下にあります。

```bash
/home/isucon/
├── .env          # アプリケーション用の環境変数
└── app           # 各種言語実装     
    ├── common
    │   └── db    # 初期データ
    ├── go
    ├── node
    ├── public    # 静的ファイル
    ├── python
    └── ruby
```

### アプリケーションの起動方法

参考実装の言語はGo,Node.js,Python,Rubyを用意しています。
初期状態ではアプリケーションが起動していないため、下記コマンドから起動してください。

```bash
# Node.jsの場合
sudo systemctl start niita_node
```

エラーなどの出力については、

```bash
# Node.jsの場合
sudo journalctl -f -u niita_node
```

などで見ることができます。


### アプリケーションの動作を確認

`http://<お渡ししたドメイン名>` にブラウザでアクセスし、動作を確認してください。
以下の画面が表示されるはずです。

![](https://i.imgur.com/rbf93zG.png)

ブラウザでアクセスできない場合、主催者に確認してください。


### ポータルについて

各チームに配布したアカウントで http://portal.r-isucon.red/static/ にログインすることで
スコア推移とランキングの閲覧、ベンチの実行、インスタンスの再起動が行えます。

![](https://i.imgur.com/Tc7L13l.png)

対象のインスタンスを選択し`Enqueue`を押すとベンチが実行されます。
この操作後、あなたのチームのスコアが反映されているか確認して下さい。


### 参考実装の言語切り替え方法

起動する実装をNode.jsからGoに切り替えるには、以下の操作を行います。

```bash
sudo systemctl stop niita_node
sudo systemctl start niita_go
```

### 自動起動の設定

サーバ再起動後にアプリケーションが起動していない場合は失格となります。
下記コマンドにより自動起動を有効にしてください。

```bash
# Node.jsの場合
sudo systemctl enable niita_node
```

また自動起動を解除する場合は、下記コマンドを実行してください。
```bash
# Node.jsの場合
sudo systemctl disable niita_node
```


### MySQL

3306番ポートでMySQLが起動しています。初期状態では以下のユーザが設定されています。

- ユーザ名: `isucon`, パスワード: `nocusi`
- ユーザ名: `root`, パスワード: `todoland0910`


### ベンチマーカーのスコア算出方法

```
スコア = (取得系リクエストの成功回数 * 1 + 更新系リクエストの成功回数 * 10) - リクエストの失敗回数 * 20
```
