ラベル GA-C1037UN-EU の投稿を表示しています。 すべての投稿を表示
ラベル GA-C1037UN-EU の投稿を表示しています。 すべての投稿を表示

2014年6月10日火曜日

squidに負荷をかけてみる(abコマンドでプロキシサーバの負荷テストをしたい)

squidでリバースプロキシ(httpアクセラレータ)+透過プロキシを立てている。
最近キャッシュの量とかメモリ関係をいじったので、果たして使い物になるのだろうか、ということを確かめたかった。

プロキシの負荷テストに、apache同梱のabコマンドが使えると言うことを目にしたので、早速試す。
virtualboxのcentosにapacheをyumでインストール
yum install httpd

その後、squidの入ったサーバに対し、無線LAN経由で早速試したが書式に困る。
-Xでプロキシ指定と書かれている
http://www.omnioo.com/record/ubuntudebian/web_apache_ab_command/
が、何故か通らない。
と思ったらそりゃそうだ。透過プロキシなんだもん。
普通にアクセスしてやればいいのではないか。
で、普通にアクセスすると、やっぱり通らない。
首を捻りながら他の書式を参考に、接頭として「http://」、接尾に「/」を入れると通る。
ううむ・・・。

ということで、通った書式は
ab -c 100 -n 10000 http://192.168.168.168/

192.168.168.168は、squidプロキシサーバのIPアドレス
-cは同時接続数、-nは総リクエスト数

-cの値を400でやってみた時のログが下。500にするとfaildがかなり出たのでそこまでは使えないんだろうけど、
400台からリクエスト受けることなんて無いので、十分満足な結果。また、総リクエスト数は10,000だろうが100,000だろうがエラーは出なかった。

# ab -c 400 -n 10000 http://192.168.168.168/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.168.168 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software:        squid/3.1.10
Server Hostname:        192.168.168.168
Server Port:            80

Document Path:          /
Document Length:        3149 bytes

Concurrency Level:      400
Time taken for tests:   21.348 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Non-2xx responses:      10065
Total transferred:      35295756 bytes
HTML transferred:       31642161 bytes
Requests per second:    468.43 [#/sec] (mean)
Time per request:       853.912 [ms] (mean)
Time per request:       2.135 [ms] (mean, across all concurrent requests)
Transfer rate:          1614.62 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2  248 621.4     60    4298
Processing:   106  533 1064.4    215   11993
Waiting:      104  357 591.2    197    9319
Total:        113  781 1367.8    294   12831

Percentage of the requests served within a certain time (ms)
  50%    294
  66%    592
  75%    806
  80%    975
  90%   1493
  95%   3182
  98%   4819
  99%   6595
 100%  12831 (longest request)

topで観察していると、cpuは40%から50%ぐらい使っている。
システム的にはceleron1037uでメモリ8GB。
squidのキャッシュ設定は
cache_dir ufs /var/spool/squid/cache_l 8192 16 256
maximum_object_size 131072 KB
cache_mem 1024 MB

追記
http://okwave.jp/qa/q9003206.html
で貼られていたので・・・

ベンダーさんの100台まで発言は見過ごせませんね・・・。
僕の稼働実績としては200台近くまでありますよ。
スループットも特に問題になったことはありません。
忌々しいchache.google.comにどれだけ接続されようとも・・・!
因みにその時は、core2quadで8GB環境、NICは4ポートintelでした。
瞬間同時接続数(よーいどんで一気に接続する)は見てませんが、上記のテストを信じるのであれば、400台近くまではいけるはずです。
しかもセレロン(ニアリーcore2duo)8GBRAM環境でこれなので、
ベンダーさんがきちんと組めば、普通に組めるはずです。
是非このベンダーさんには、論拠をご教示頂きたいですね。

あと質問者さんが言っているファイルディスクリプタのことは
http://takeda-h.hatenablog.com/entry/2014/12/09/005533

http://d.hatena.ne.jp/rougeref/20130424

みたいな所に書いてあります。
因みに1037Uのこのsquidは、ファイルディスクリプタ弄ってません。で、常時90台程度接続のhttpアクセラレータです。

参考になれば。

2014年6月6日金曜日

オンボードLAN(NIC)のスピードが出ない。Realtek製チップr8168(r8111)のドライバをcentos6.5にRPMでインストール。

関連記事はこちらこちら

安定性はピカイチのGA-C1037UN-EU。
だけど何故かLANが遅い。
気になって調べていると、
http://www.geocities.jp/infinite_555/ta/file-s.htm

>あとubuntu13.10現在ではLANチップのドライバーが違う機種のものが誤ってインストールされる現象があります。
>
>手動にて直す必要があります。GA-C1037UN-EUのLANチップはREALTEK RLT8111なのですが
>ドライバー名がR8169というのが誤ってインストールされているのです。正しくは”R8168”。これubuntu界隈では非常に有名なのだそうです。
>
>タチが悪いことに一見正常に振る舞うんです。でも実情は性能が出し切れていない状態なのでsambaの転送速度が下の画像のようにおかしな事になっていました。

http://www.akiyan.com/blog/archives/2009/10/centos-nic-realtek-rtl8111-8168b-r8169.html
を参考に早速確認しようと思ったら、ミニマムインストールしていたので、諸々が無い。
lspciを打とうとしたら、そもそも無い・・・。
で、インストールする。
yum install lspciと打ってみるが、そんなものは無いと言われる。
http://www.miuxmiu.com/archives/2012/04/24/centos_6_yum_lspci_install_command.html
ということで、

yum install pciutils

でlspciをインストール。

http://katzplus.com/centos/yum/centos%E3%81%A7%E3%80%8C%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%8D%E3%81%A8%E3%81%8B%E8%A8%80%E3%82%8F%E3%82%8C%E3%82%8B-yum/
を参考に
yum install mlocate
でlocateを入れる。
updatedb
でlocateのデータベース更新しながら諸々とこなしていくと、modprobe.confが無い。
そういえばcentos6系からmodprobe.confが無くなってた・・・。

色々面倒だったので、r8169.koだけ適当に移して、
http://wingse.blog57.fc2.com/blog-entry-313.html
を参考に、RPMパッケージでインストールする。

ELRepoは初めて知った。
http://elrepo.org/tiki/tiki-index.php

具体的な手順は

ELRepoリポジトリのインストール

rpm -ivh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm

リポジトリのイネーブルを変更。

vi /etc/repos.d/elrepo.repo
中の
enabled=1

enabled=0

ドライバインストール

yum --enablerepo="elrepo" install kmod-r8168

http://wingse.blog57.fc2.com/blog-entry-313.html
の通り
r8168ドライバーの反映

SSHで作業する場合、ドライバーの入れ替え時に通信が遮断されてしまうため、以下のコマンドで一気にその作業を完了させます。

# rmmod r8169 && depmod -a && modprobe r8168 && service network restart

確認

# lsmod | grep r81

r8168が表示されれば成功です。

という感じで終了。

修正
enablerepoの綴り間違えてました。

追記

またやったので、今度は公式に沿ってみた。

まず確認
lspci |grep Ether

01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
みたいにでる。

ドライバの確認
lsmod |grep r81

r8169だと差し替え。

公式
http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false#2
で、URLを振り出してダウンロードする。
jsを見るのが面倒なら、ブラウザで一度ダウンロードして、ダウンロード元リンクをコピーするという方法が良い。

ダウンロード
wget http://12244.wpc.azureedge.net/8012244/drivers/rtdrivers/cn/nic/0002-r8168-8.040.00.tar.bz2

解凍
tar jxvf 0002-r8168-8.040.00.tar.bz2

出来たr8168-8.040.00に入って、readme通り
sh ./autorun.sh
を実行すると、動作的にはr8169を消して、ドライバをビルドしてdepmodで差し替えをしてくれる。

差し替わっているかどうかの確認
lsmod |grep r81

これで8168になっていたら終了。
sshで操作していると切断されるので、RPMインストールの方が安全な気がする。
あとカーネルを更新したときに、RPM以外での差し替えだった場合、ドライバってどうなるんでしたっけ。
前nvidiaのドライバ差したときは、カーネル更新毎に入れ直しをしていた気がする。


ifconfig、route、netstat、arp等は
yum install net-tools
でインストールできる。
http://blog.be-dama.com/2014/06/18/red-hat-el-7%E3%81%AEifconfig%E3%81%A8%E3%81%8B%E3%83%AC%E3%82%AC%E3%82%B7%E3%83%BC%E3%81%AAnet-tools%E3%81%8C%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F/

2014年6月5日木曜日

隔世の感とはこのことか。celeron 1037U(GA-C1037UN-EU)を使ってみて。

AMDが強力なCPUを輩出して追い込まれたintelが出した救世主core 2 duo。
もう8年前なのか、と思うと、なかなか感慨深い。
何故C2Dの話から入ったのかというと、
今回celeron 1037Uを選定する機会があり、ベンチマークなどを見て回ったが、これが凄かった。
core2duoのE6400とほぼ変わらない、むしろ速い石だったのである。

流石に8年。時代は変わる。
celeronであっても、当時のハイミドルスペックが買えるのである。
しかもファンレス。低TDP、且つ、安い。
社内向けサーバにはうってつけである。外向きになら、これで多段組しても良い。
また、リビングPCとしても全く問題が無い。
実際C2Dの速度は、リビングで使うであろう作業(ブラウジング、メールなど)には今でも十分すぎるスペックである。
intelのNUCでceleron搭載のものがあり、
こんな事になってるとは夢にも思わなかったので馬鹿にしていたが、実は結構な代物だったということである。
まさに隔世の感、置いてきぼりを食った感じ。

10万以上かけて組んだPCが、今となっては3万か、と思うと、それはそれで切ないが、celeron搭載機を侮らず、積極的に取り入れていきたいと思いましたとさ。

今回使用したのはgigabyteの「GA-C1037UN-EU」。
要件定義としては
・owncloud用のウェブサーバ
・小さく静かに
・CPUはオンボード、できればファンレス
・HDDは最高4台積む
・そこそこ速く(Atomで一度痛い目を見た)

組み上がったもの
GA-C1037UN-EU
SILVERSTONE PSO8
ADATAの8GBRAM(不安要素)
HGSTの1GBとSeagateの1.5TBHDD
CORSAIRのCX430X
締めて4万円。

GA-C1037UN-EUはNICが2つついているので、そもそもサーバ用途に使いやすいし、特に癖が無い板である。

centos6.5にowncloud6をインストールしたときのメモ。RPMパッケージを使用してみる。

owncloudをホストしていたサーバが飛んだので、新しく組み直した際のメモ。
まず構成。

GA-C1037UN-EU(オンボードCPUの凄い奴。C2DのE6400とかと張り合う癖に、低消費電力。)
8GBのRAM
1TBの新規ハードディスク(システム用)
1.5TBの/var用のハードディスク(データ用)
OSはcentos6.5(執筆時最新)。
基本は
http://roserogue.blogspot.jp/2012/11/centos6owncloud.html
に沿って構築していく。

http://owncloud.org/install/

から、「host owncloud yourself」を選択。
なんとrpmパッケージが出ていることを発見したので、rpmでのインストールをしてみることにする。
linux packagesを押すと、「open suseで今ホストして貰ってるんだぜ」的な事を言われるのでそのまま続行。
OSの選択画面になるので、centosを選択。

CentOS CentOS-6 には、 root で下記のコマンドを実行してください:
cd /etc/yum.repos.d/
wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-6/isv:ownCloud:community.repo
yum install owncloud


と出るので、そのまま入れようとするが、色んなものが無いから無理、と仰有る。
どうやらremiが無いと駄目らしいが、remiを入れようとするとepelがくっついてくる(無いと入れない、といわれる)。

仕方なく両方入れることに。
remiとepelについてはこちら。
まずwgetで2つを落とし、その後yumでインストール。

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

yum localinstall epel-release-6-8.noarch.rpm
yum localinstall remi-release-6.rpm

epelが常時有効になってしまうので、レポジトリのイナブルをゼロにする。

epelのenabled=1を0にする。

vi /etc/yum.repos.d/remi.repo
enabled=1

enabled=0



で、その後、

cd /etc/yum.repos.d/

wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-6/isv:ownCloud:community.repo

を実行する。
内容はyumリポジトリの入ったディレクトリに、owncloudのリポジトリをダウンロードします。

そのまま
yum install owncloud
を実行したが、中に入ってるmysqlとphpのバージョンと違うものを入れようとする。 
 なので、まずmysqlとphpを消す。

yum erase mysql php

その後、yumのオプション「--enablerepo」で、リポジトリを有効にしながらowncloudとmysql-serverをインストールする。

yum install --enablerepo=epel,remi,isv:owncloud:community.repo owncloud mysql-server

証明を受け入れるかどうかのyesnoが出るのでYで通す。


あとは
http://roserogue.blogspot.jp/2012/11/centos6owncloud.html
を見ながら設定していけば大丈夫。ディレクトリのオーナー権限等は、基本的に設定されているもので通ったので、あえて再設定しなくても大丈夫。

楽になったなあ。
因みにowncloud-6.0.3-6.1.noarch.rpmが執筆時最新rpm。