「server」タグアーカイブ

【GAME】ARMA3 EXILE MODサーバの旅その14

P1020116追記:AMD CPU

今、月曜日深夜3時。

今日は眠れなくて、AM1時頃に起きてしまい、サーバ構築しとるとです。

仕事でも無いのに、俺は何をやってんだ?

と、ここ数日悩まされ続けてる訳ですが。

ま、ええんでない?(゚∀゚)ノ

もうちょい、Linuxサーバのパフォーマンス向上を目指します。自分の中では、今日が期限。仕事で遠出するので、それまでに終わらしたい。

  • サーバMODをRAMDISKに置いてみる
  • MySQLとMariaDBの違い(MariaDBの方が高効率っぽい)
  • セキュリティ周りの見直し

カップ麺のお湯待ちでの記事書きでした。こんなの見ながら。

sc201706120710108GBもありゃ余裕だろと思っていましたが。

なんだかんだしてると、極小空間でしかないようです。

(;´∀`)

なんとかDBをオンメモリで動かしたかったが、思っていたよりも奥が深かった。

既にメモリを有効利用する仕組みで作られてる、今時のDBなので、出来たとしてもData Flush時だけのI/Oコスト削減にしかならない。

・・と気付き、ここで諦めよう(;^ω^)

本来のゲームサーバ本体のパフォーマンスを上げるのが優先ですもんね。

sc20170612082325サーバMODを、メモリに乗せて稼働テスト。

Arma3の仕組み上、指定MODを自前メモリに乗せるような事はしてないはず・・で(デカいし)、それなりに効果があるかも。

・・と。分かんないけど。

とりあえず、デカい@Exileと@ExileServerの2つだけで(1.3GB)

数字では、10~20%程度負荷が減ったように見えます。とりあえず100%に張り付く事は無くなりました。

2時間ほど放おってたら、100%に張り付きっぱなし・・。サーバリスタートが必須な理由がこれなんかな。

sc20170613061636追記:

プレーヤーがインしていない状態で放置(内部でイベントは進行中:設定はMOD込みでバニラ)で、CPU負荷は60-70%辺りで落ち着いてます。

IO待ちもゼロ、物理空きメモリも1GB(+仮想4GB)と、至って健康状態です。

消費電力も、50W近辺です。これなら、24Hつけっぱなしで月電気代も700円位かな(;´∀`)

セキュリティも思いつく限り設定しましたし、データバックアップや初期化スクリプトも用意。

PCの電源を入れれば、自動でEXILEサーバが上がります

(;^ω^)お部屋に暖房機が増えました

運用に備え、電源&LANケーブルだけの状態にし風通しの良い場所に置いた。PC内部のDVDドライブやメモリリーダーとか周辺機能は全部無効に。後は、SSHだけでリモート作業。

本日から、これで、落ち着いてミッション作成に入ります。

P_20170612_140509時間が出来たので、太平洋を拝みに行ってきました。

仙台港で、東北で一番の海の玄関。船が停まってる所は、フェリー乗り場。

久々に来ました。

すぐ近くに、仙台空港もあります。滑走路を走る津波の映像、思い出します。

湾内なので、ここも相当な被害だったはず・・ですが、特に以前と変わらずな感じでした。

P_20170612_140639右に振り返ると、ずらっと釣り人が・・。

(;´Д`)

ここで釣りしてもええんか?

めっさ、堂々と楽しんでおられるようですが。きっと、海の中にLOOT沸きがあるんだろう。

ずんだミルクパン”を頂きながら、帰りました。

よしぽんさんのEXILE動画がアップされてます#4

追記:

sc20170613124851気のせいだと思いたいのですが。

Arma3の起動オプションに、”-cpuCount”というのがあって、CPUコア数を指定できます。

通常は無指定でも、自動で認識されるのですが。

AMDでしかもAPUというクセの強いCPUなので、もしやちゃんと認識してないのでは・・と思いcpuCount/exThreadsを付けて起動しました。

CPUの負荷が(さらに)5~10%位下がったように見えます。

気のせいかもしれませんが、AMD APU利用の方は一応付けといた方がいいかもです。

いずれにしても、Arma3は1~2コアに処理が集中する傾向があるので、シングルコア性能が重要なのは、今回の試験でよく分かりました。

  • -cpuCount=4 コア数
  • -exThreads=7 各処理にスレッド割り振り強制

以上の事から、Arma3においては、Core i7よりもCore i3の方が良い数字出すかもしれません。i3は定格で周波数が高い。

  • -maxMem 使用メモリ最大量

ちなみに、このmaxMemを指定すると、なんでかスペックダウン。これはイジらない方が良いようです。

無指定の方が、メモリ使用量が多いという結果です(倍違い)先日の64bit化でちゃんと見直されたのかもしれません。

  • -malloc メモリアロケータの指定

Linuxの場合は指定する必要無し。

【GAME】ARMA3 EXILE MODサーバの旅その13

sc20170610013949追記:電力、FPS

追記:動いたッ!

もう、地獄のような日々です。

(;´Д`)

動かねぇ・・動かねぇ。

ミッションを作り込む以前に、サーバが動いてくれないのですw

一歩前進したら、また壁が現れるという感じです。ネット上に情報が無さ過ぎて、試行錯誤を繰り返して解決してます。

ロシア語?イスラム辺りの言語?とかまで、翻訳しては情報を集めてる位です。゚(゚´Д`゚)゚。このミミズみたいな文字は何やね~ん

・・ですが、着実に進んでおります。

今は、Linux本番環境で、負荷具合がどんなものか調査するために、Linux環境を作ってるところです。

Windows運用サーバから、Linuxにクローンを作るだけの簡単な事・・だと思っていたが。

新しいDBドライバのextDB3をチョイスしてしまったがために、ここ3日程消費してしまった(やっと動いたので、記事書いてます)

んで、負荷率は・・・・

P_20170610_154936CPU使用率90~100%、メモリ8GBの20%となりました。

(;´Д`)・・む、無理くさい・・AMD A6じゃ無理なのか

誰か、Core i5とかクレw

追記:

ミッション関連のDMS、Occupation MODを一旦外して計測したら(ほぼ素のEXILE)、CPU使用率70~80%、メモリ8GBの20%となった。

消費電力は、意外に低くてアイドル(33W)から若干の50Wあたりで推移してました。若干OC状態A6 3650-4Core 2.6Ghz→2.75Ghz

sc20170610160315CPU使用率は、プレーヤーがゼロでも、結構高めで推移してます。

ログを見る感じでは、最低でもFPS30はキープしてくれてるようです。

(;´Д`)

サーバOS自体を軽く(RAMディスク・MySQL周り・不要なサービス停止とか)して工夫してみよう。

sc20170610205439ログは、全量吐き出す様に設定してるんですが。

これを、RAMDISKに吐き出すようにしたら、明確にCPU負荷が減りました。

ほぼ100%張り付きだったものが、平均50%台のようです。

MySQL分もRAMDISKに置いてみよう。

sc20170611055723追記:

どうにも気になり、真夜中に起きて作業する・という。

(;´∀`)

Linux OS側の様々な設定をしてみました。かなり効果があがりました。

もうちょい数字が上げられそうな感じですが、この辺で終わりにしておこう。

カーネル設定、プロセス優先度やI/Oスケジューラまでは弄ってません。これは最後の手段として取っておこう。

今までの作業は全てメモしてるので、近いうちに記事として公開します。

20170610170426_1追記:

イジると、エラーの繰り返しだったが、問題箇所が分かり始めてきた。

こちらは、Linux本番サーバへインした所です。

20170610171327_1

DMSやOccupation MODを入れても、ログではFPS30とか報告出てましたが。

プレーしてみると、普通に50そこいら出てました。

これなら、全然プレーに支障ありません。いずれにしても、調整&確認は必要でしょうけど。

A6のGPU部分がほぼ仕事をしてないので、動作に余裕があるんだろうか。もうちょい、OCしてみるか。

後は、ミッションを作り込むだけとなりました。

(;´∀`)

20170608222125_1・・とここで、先日紹介した、EXILE MOD管理者向けDISCORDで知り合った方なのですが。

新しい日本EXILEサーバがテスト段階ですが、公開されてます。

TKG」で検索すると表示されるかと思います。

20170608222415_1MAPは、Taunus。

ゾンビさんは、ちょっと風変わりな感じです。
20170608224226_1誰だ!と思ったら、鯖缶さんでした。


20170608224508_1初めて斧でゾンビを倒してる所ですが、まず無理です。

どうするとヒットするんか分からん。

んで、こちらのサーバは、ガチPvP推奨なので、低Pingでプレーヤー相手に駆け引きしたい方はよろしいのではないでしょうか。

まだテスト公開ですけどね。

【pc】MySQLサーバにリモート接続できない@ネタ

sc20170608004456Ubuntu ServerにこしらえたMySQLサーバにどないしても接続できない。

MySQL Workbenchから、スマートに管理したいのじゃ!

(;´Д`)

Grantをどー設定しても、接続できない、ファイヤーウォールは何度も確認した。

sc20170608004839何度、このウィンドウを出しただろう。

10060というのは、そもそも、超基本的エラーで、サーバが見えないという場合。

日頃の行いが悪くても、関係無いのだ。

こういう時は、ログ・ファイルをじっくり見ると解決する事がある。

sc20170608005145・・が、そもそも、サーバーログに書き出されてない・・。

ここにあるエラーは、全部インストール時のもの。

つー事は、もっと、超基本的な何かが掛けてるって事だ。

(゚∀゚)!

ってなんだ?ケーブルが抜けてる?とか?(すっとぼけ)

sc20170608005520答えは、ここにありました。

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

MySQLインストール後、そういやConf系はまったくイジってなかった事に(よーやく)気付き、まさに確信の1行を見たのです。

bind-address = 127.0.0.1

コメントにも、now to listen only on localhostと書かれてます。

(;´Д`)

お母さん、友人知人に何事も無かったかのように悟られず黙って、この1行をコメントアウト(もしくは、接続側アドレス)に変えましょう。

#を一個書くだけです。

”#”が愛おしく感じる瞬間でもあります。お時間のある時に、キーボードの”#”を優しく愛でてください。きっと、良い事があるに違いない。

ちなみに、複数アドレス設定はできないようです。