検索結果
CentOS5.5
- 全てのカテゴリ
- 全ての質問
- MySQL インメモリでINSERTの方法について
最終的に1億行になるであろうテーブルを含むデータベースを作っています。 テスト環境はCentOS6.3 MySQL5.5 CPU QuadCore 2.4GHz 2GBメモリです。 テスト環境を作るために10万件づつのCSVファイルをインサートしていったところ最初の10万件は数秒でインサートできたのですが、だんだん重くなり、1000万件近くになると「10万件の登録に1分半」もの時間が掛かっています。 (1000万件のデータはinnoDB上で1.2GB) サーバーを公開した場合、最大で1分間に数万件のインサートが見込まれていますので、今の環境だとテーブル内データ1千万件が限界の感じであり、現在予想している1億行では使い物にならないと危惧しています。 そのような中、調査していくとディーエヌエーの松信氏の発言で http://www.slideshare.net/kaminashi/db-6636154 18. インメモリでINSERTを完結する インメモリでのINSERT性能 InnoDBの場合秒間15000 insert/s超え という記載を発見しました。 しかし、インメモリでのインサートの方法というのが分かりません。 話の筋やInnoDBという単語から言って、松信氏の言う「インメモリでINSERTを完結する」と「インメモリー・データベース」とは違うと考えております。 実メモリの範囲内という考えなら、現在のテスト環境でも1.2GBのデータを2GBメモリのマシンで展開しているわけなので、「10万件の登録に1分半」かかる理由が分かりません。 秒間15000 insert/s超えを達成させる「インメモリでINSERTを完結」させる方法について具体的にご教授いただけませんでしょうか? 宜しくお願い致します。
- xorg(X11)のビデオデバイスの切り替え
windowsXP Home Edition からVirtualBoxをつかって実パーティション上のCentOS5.5を呼び出しています。 仮想マシンから呼ぶ場合と実パーティションから直接bootする場合で、使用するxorgのビデオカードドライバとモニター設定の違いを吸収したいのですがうまくいきません。 いま、xorg.confを一生懸命いじっているところですが、このファイルの設定だけでは解決しないでしょうか。 詳しい状況は以下のとおりです。 //virtuakboxにGuestAdditionsはインストール済みです。 virtualboxから起動する場合、使用するビデオカードデバイスドライバは"vboxvideo"と呼ばれるもので、その他の設定も合わせてxorg.confに正しく指定することで正しく起動できます。 しかし、この設定のまま実パーティションから直接bootすると自動的にドライバが"intel"(実機のビデオカードドライバ)を使うようにxorg.confの内容が自動的に変えられてしまいます。仮想環境でなければ実機のビデオカードを使うしか無いのでこの変更は正常であると言えます。実際この自動的な変更によってxorgは起動できるようになるので、これだけならありがたいんです。 しかし、この自動変更のあとの設定のまま、再びvirtualBoxから起動しようとすると、ドライバの設定が違うため、起動時にxの設定の変更を指示されます。しかし、起動のたびにこれをやるのはかなり面倒なのでなんとか、仮想環境からでも実環境からでも楽にXを起動できるようにしたいのです。 これは設定ファイルを弄るだけでできますか?そえとももっと高度な技術が必要でしょうか、だとするとどの辺から勉強していけばいいのでしょうか。
- サービスの終了処理が実行されない
MinecraftのサーバをLinux上でサービスとして実行しようと思い、最下部に示したシェルを作成し、 # chkconfig --add Minecraft を実行しました。 再起動を行ってみたところ再起動後もMinecraftのサーバは正常に起動していたのですが、 Minecraftのサーバログを確認すると終了処理が行われず、そのままプロセスがKillされています。 また、 # service Minecraft stop を実行した場合には正常に終了した事を示すログが出力されていました。 環境は以下のとおりです。 OS:CentOS 5.5(Kernel 2.6.18) Java:1.6.0_25(64bit) minecraft_server.jar:beta 1.5_02 何かするべきことが漏れているのでしょうか。 アドバイスよろしくお願いします。 /etc/init.d/Minecraft #!/bin/sh # chkconfig: 2345 99 01 SCREEN_PATH=/usr/local/bin SCREEN_NAME=minecraft-server MINECRAFT_ROOT=/root/Minecraft DEFAULT_STOP_WATE_TIME=60 MIN_MEMORY=1024M MAX_MEMORY=4096M start(){ cd ${MINECRAFT_ROOT}/conf ${SCREEN_PATH}/screen -AmdS minecraft-server java -Xms${MIN_MEMORY} -Xmx${MAX_MEMORY} -jar ../bin/minecraft_server.jar nogui > test.txt } stop(){ ${SCREEN_PATH}/screen -S ${SCREEN_NAME} -p 0 -X eval "stuff save-all" while [ ${DEFAULT_STOP_WATE_TIME} -ne 0 ] do if test `expr ${DEFAULT_STOP_WATE_TIME} % 30` -eq 0 -o ${DEFAULT_STOP_WATE_TIME} -le 10 then ${SCREEN_PATH}/screen -S ${SCREEN_NAME} -p 0 -X eval "stuff say\040Server\040will\040stop\040in\040${DEFAULT_STOP_WATE_TIME}\040seconds.\015" fi DEFAULT_STOP_WATE_TIME=`expr ${DEFAULT_STOP_WATE_TIME} - 1` sleep 1 done ${SCREEN_PATH}/screen -S ${SCREEN_NAME} -p 0 -X eval 'stuff stop\015' sleep 10 } restart(){ stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac exit 0
- ベストアンサー
- Linux系OS
- izayoimizuki
- 回答数4
- シェルからssh接続
お世話になります。 現在、シェルからssh接続してファイルの存在確認を行いたく以下のようなシェルを作成したのですが、 上手く動作できなく困っております。(ssh接続したところで動きが、とまります。) 解決策が、わかる方がいらっしゃいましたらご教授願えますでしょうか。 私の使用している環境は、接続元・接続先ともにcentOS5.5です。 公開鍵を設定し以下のようにノンパスワードでログインできる事は、確認しております。 [root@localhost ~]# ssh 192.xxx.xxx.xxx Last login: Sun Jan 8 16:45:13 2012 from 192.168.1.250 [root@localhost ~]# ※以下のシェルは、javaのテストプログラム数文を実行しテストで出力するファイルの存在チェック を行っています。 #!/bin/sh FILEDIR=/usr/local/test JAVADIR=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin TESTDIR=/temp/Test_pro INPUTDIR="${TESTDIR}/input" WORKDIR="${TESTDIR}/work" JARFILE="${TESTDIR}/Test.jar" PROFILE="${TESTDIR}/set.property" REMOTEHOST=192.xxx.xxx.xxx #FILEDIR内のディレクトリを削除 rm -Rf ${FILEDIR}/* TESTTARGET=`find ${WORKDIR} -type f | sort -r` for FILE in ${TESTTARGET} ;do echo "${FILE} START " #テスト対象プロパティファイル削除 & 移動 cd ${INPUTDIR} rm -f ./* cd ${WORKDIR} cp -p ${FILE} ${INPUTDIR} #実行環境へ移動 cd ${JAVADIR} #実行 java -jar ${JARFILE} ${PROFILE} echo "192.xxx.xxx.xxx" `ifconfig` LOGIN=`ssh ${REMOTEHOST}` echo ${LOGIN} echo "192.xxx.xxx.xxx" `ifconfig` #ファイル作成確認 cd ${FILEDIR} FILECNT=`find ./ -name [0-9]* | wc -l` if [ ${FILECNT} -eq 1 ] ; then DIRNAME=`ls` echo "FILE MAKE " ${DIRNAME} mv ${DIRNAME} ${FILE]} echo "FILE RENAME " ${FILE} else echo "FILE NOT MAKE " fi echo "${FILE]} END " done お手数お掛け致しますが、よろしくお願い致します。
- ベストアンサー
- その他([技術者向] コンピューター)
- kenken1917
- 回答数1
- Pythonのバージョンアップについて
CentOS5.5にはPython2.4がデフォルトで入っているのですが、Python2.6でスクリプトを作成する必要がありバージョンアップをしているのですが、dbusモジュールのインポートができず行き詰っております。 具体的には、Python2.4とdbus-pythonがインストールされている状態で、下記のURLを参考にyumでPython2.6をインストールしました。 環境としては「/usr/bin/phthon2.4」と「/usr/bin/phthon2.6」が出来た状態です。 libは「「/usr/lib/phthon2.4」と「/usr/lib/phthon2.6」です。 dbus-pythonのインストール先は「/usr/lib64/python2.4/site-packages/dbus」になります。 Python2.4を環境で下記のインポートは問題ありません。 >>>import dbus しかし、Python2.6環境で同じコマンドを実行すると下記のようなエラーになります。 >>> import dbus Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named dbus dbusの再インストールはリスクが高いと思い、モジュールのパスを通してみたところ下記のようなエラーになりました。 >>> import sys >>> sys.path.append('/usr/lib64/python2.4/site-packages') >>> import dbus Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python2.4/site-packages/dbus/__init__.py", line 1, in <module> from _dbus import * File "/usr/lib64/python2.4/site-packages/dbus/_dbus.py", line 45, in <module> import dbus_bindings ImportError: /usr/lib64/python2.4/site-packages/dbus/dbus_bindings.so: undefined symbol: Py_InitModule4 rpmでモジュールインストール先の変更や、Python自体をソースからインストールなどしてみたのですが、全てうまく行かない状態です。 Pythonバージョンアップ前にインストールされているモジュールの使い方をご存知の方がおられましたら、宜しくお願いします。
- Tomcatでwarファイルの展開に失敗します。
tomcatで起動にwarファイルを配備する際に、 java.util.zip.ZipException: Wrong Local header signature: 78656e55 というエラーが発生して、正常に起動することができません。 いろいろ調べたのですが、全く手掛かりがつかめずお手上げの状態です。 もし、お分かりの方がいたら知恵をお借りしたいです・・・。 環境 CentOS release 5.5 (Final) jdk6 tomcat5 です。 ------- エラー内容 INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib64/gcj-4.1.2 15- 4月-11 7:23:23 午後 org.apache.coyote.http11.Http11BaseProtocol init INFO: Coyote HTTP/1.1を http-8080 で初期化します 15- 4月-11 7:23:23 午後 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 771 ms 15- 4月-11 7:23:24 午後 org.apache.catalina.core.StandardService start INFO: サービス Catalina を起動します INFO: Webアプリケーションアーカイブ test.war を配備します 15- 4月-11 7:23:24 午後 org.apache.catalina.core.StandardContext start SEVERE: Error in dependencyCheck java.util.zip.ZipException: Wrong Local header signature: 78656e55 at java.util.zip.ZipInputStream.getNextEntry(libgcj.so.7rh) at java.util.jar.JarInputStream.readManifest(libgcj.so.7rh) at java.util.jar.JarInputStream.<init>(libgcj.so.7rh) at java.util.jar.JarInputStream.<init>(libgcj.so.7rh) at org.apache.catalina.util.ExtensionValidator.getManifest(catalina-5.5.23.jar.so) at org.apache.catalina.util.ExtensionValidator.validateApplication(catalina-5.5.23.jar.so) ・・・・・省略 15- 4月-11 7:23:24 午後 org.apache.catalina.core.StandardContext start SEVERE: Error getConfigured 15- 4月-11 7:23:24 午後 org.apache.catalina.core.StandardContext start SEVERE: 以前のエラーのためにコンテキストの起動が失敗しました [/test]
- fleuentd to mongodb件数合わない
fleuentd経由のデータをmongodbへinsertしてるのですが、 転送されたデータ件数とmongodbへinsertされている件数 が一致せず、困っております。 各ログファイルにも目立ったエラーは、出力されてませんでした。 環境ですが、2サーバ共に、 OS:CentOS5.5_64 fluentd 0.10.30 fluent-plugin-mongo (0.6.13, 0.6.11) MongoDB shell version: 2.2.2 データの流れですが、 webサーバ→logサーバ→mongodb ※Logサーバとmongodbは、同じサーバです。 webサーバ→logサーバは、問題無く全データ転送されます。 logサーバ→mongodbは、数件差分が発生します(mongodbが数件足らない)。 各設定以下になります。 【webサーバ td-agent.conf】 /////////////////////////////////////////// <source> type tail path 省略/test.log format 省略 tag test.test pos_file /var/log/td-agent/tmp/test.log.pos </source> <match test.*> type forward buffer_chunk_limit 10m flush_interval 10s send_timeout 5s recover_wait 5s retry_limit 5 <server> host 省略 </server> </match> /////////////////////////////////////////// 【logサーバ td-agent.conf】 /////////////////////////////////////////// <source> type forward </source> <match test.test> type copy <store> type mongo database hogehoge collection test buffer_type memory buffer_chunk_limit 10m buffer_queue_limit 1280 flush_interval 1s retry_limit 10 retry_wait 5s </store> <store> type file path /var/log/td-agent/test buffer_chunk_limit 1g </store> </match> /////////////////////////////////////////// 【webサーバ mongod.conf】 /////////////////////////////////////////// # mongo.conf #where to log logpath=/var/log/mongo/mongod.log logappend=true # fork and run in background fork = true #port = 27017 dbpath=/var/lib/mongo # location of pidfile pidfilepath = /var/run/mongodb/mongod.pid # Turn on/off security. Off is currently the default #noauth = true auth = true /////////////////////////////////////////// どうぞ、ご教示お願いいたします。
- 締切済み
- その他(データベース)
- uaaaaaaahhah
- 回答数1
- MySQLテーブル内容を、「質問番号:6279480」
MySQLテーブル内容を、「質問番号:6279480」 (私が以前質問したものの番号です)のようにして、 CSVファイルのダウンロード時に開く ダウンロード用ダイアログボックス内に、 [開く]ボタンと、[保存]ボタンがあります。 その[開く]ボタンについてですが、 今、私のパソコン内にはExcel2010Beta(以下Excelと省略します)が入っていて、 [開く]ボタンをクリックすると、 自動的に、Excelが起動してCSVファイル内容が表示されています。 そこで、ご質問内容なのですが、 上記でExcelが起動した際に、 実際のCSVファイル名(KYOIKU.csv)の、 拡張子(.csv)の直前に、 なぜか自動的に、[1]とか、 続けて[開く]ボタンをクリックしていくと、そのたびに+1されていって、 [2]とか、[3]とかの[ ]カッコが追加されてしまいます。 (1回目の例だと、KYOIKU[1].csv) その後に、 Excelのプルダウンメニューから、[ファイル]-[名前を付けて保存]をすると、 デフォルト名のままだと、 そのカッコまで、ファイル名として保存されてしまい、 Excel2002などの古いバージョンだと、[]カッコ文字はファイル名として 認められずにエラーが出ています。 (ちなみにExcel2010Betaでは、 []カッコが保存時に、丸カッコ()に自動的に変更されていて エラーにはなりませんでした) この自動的に付いてしまう[1]などのカッコや、中の数値を、 [開く]ボタンをクリックしても、 付けないでExcelを開かせる方法を教えてください。 (現在CentOS5.5上にて、Javaサーブレット、JSP、JavaBeansなどの環境内で、 上記「CSVファイルのダウンロード」を作成中です) お世話になります。 宜しくお願い致します。
- 玄箱PRO用gdbのクロスコンパイル
現在、玄箱PROを使って勉強をしています。 なお、勉強するにあたって Debian化によるコンパイル環境は玄箱に入れない(組み込み開発の勉強をしているので) としています。 gdbを玄箱にインストールしようと思っているのですが、途中でエラーが出てしまいます。 エラーを解消するために調べてみたのですが、解消のための方法をまねしてもうまくいきませんでした。 クロスコンパイルの知識のある方、経験のある方どなたか御教示願えませんでしょうか? やった手順と環境です。 【環境】 コンパイル環境:CentOS 5.5 動作環境:玄箱PRO(Linux2.6) 【手順】 (1)http://www.codesourcery.com/sgpp/portal/datasheet?target_arch=ARM&target_os=EABI からARM用EABIコンパイラをダウンロードし、コンパイル環境に展開 (2)玄箱PROの付属CDからgdb-2005q3-2.tar.gzを展開 (3)2で展開されたgdb-2005q3-2.tar.bz2をさらに展開 (4)3で展開されたgdb-2005q3ディレクトリ内に移動 (5)環境変数を設定 export PATH="<1で展開したコンパイラのパス>/libexec/gcc/arm-none-linux-gnueabi/3.4.4" export PATH="<1で展開したコンパイラのパス>/bin" export CROSS_PREFIX="<任意のパス>" (6)CCの環境変数を設定 export CC="<1で展開したコンパイラのパス>/bin/arm-none-linux-gnueabi-gcc" (6)configure実行 ./configure --host="arm-none-linux-gnueabi" --target="arm-none-linux-gnueabi" --build="i686-pc-linux-gnueabi" --prefix=${CROSS_PREFIX} (7)make実行 エラーの内容は以下でした。 =================================================== ・ ・ ・ make[2]: *** [install-recursive] エラー 1 ・ ・ ・ make[1]: *** [install-bfd] エラー 2 =================================================== 【補足】 make installするとinclude、share、libのディレクトリはできている。 gdbとは別にgcc-2005q3-2のコンパイルは成功している。 以上
- Mailmanインストールについて
CentOS5.5にMailman 2.1.14+j6をインストールしているのですが、以下の画面が表示されます。 # ./configure --prefix=/usr/local/mailman --with-python=/usr/local/python/bin/python --with-mail-gid=mailman --with-cgi-gid=apache # make # make install Compiling /usr/local/mailman/Mailman/versions.py ... ERROR:root:code for hash sha224 was not found. Traceback (most recent call last): File "/usr/local/python/lib/python2.7/hashlib.py", line 139, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/python/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor raise ValueError('unsupported hash type %s' % name) ValueError: unsupported hash type sha224 ERROR:root:code for hash sha256 was not found. Traceback (most recent call last): File "/usr/local/python/lib/python2.7/hashlib.py", line 139, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/python/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor raise ValueError('unsupported hash type %s' % name) ValueError: unsupported hash type sha256 ERROR:root:code for hash sha384 was not found. Traceback (most recent call last): File "/usr/local/python/lib/python2.7/hashlib.py", line 139, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/python/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor raise ValueError('unsupported hash type %s' % name) ValueError: unsupported hash type sha384 ERROR:root:code for hash sha512 was not found. Traceback (most recent call last): File "/usr/local/python/lib/python2.7/hashlib.py", line 139, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/python/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor raise ValueError('unsupported hash type %s' % name) ValueError: unsupported hash type sha512 更新の必要はありません. 上記のメッセージは、エラーなんでしょうか? Mailmanを動作させると、特に問題なく動作しているように見えます。 また、pythonのインストールは、下記の様にしています。 # ./configure \ --prefix=/usr/local/Python-2.7.2 \ --disable-ipv6 # make # make install ネットで色々調べてたのですが、全くわかりませんでした。 勉強不足で申し訳ありませんが、教えて頂けたら幸いです。 よろしくお願いします。
- PHPのconfigureのオプションにつきまして
日頃WindowsメインでLinuxをあまり使わない者です。 今回、とある理由でCentOS5.5にPHP5.2とMySQL4.0の環境を作る必要が出てきました。それで、それらをソースからコンパイルしてインストールしてみたのですが、PHPのmysql_connect()で以下のようなエラーが出て、原因がわからず困っています。 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (13) PHPもMySQLも単体では正常に動いているようです。データベースも作れました。 それで色々調べていたのですが、/tmp/mysql.sockのアクセス権限を777にしたり、 PHPとMySQLが/tmp/mysql.sockを介する設定になっているかを確認しましたが、いずれも問題無さそうです。 それで、phpinfo()の結果をさくらサーバーのそれと比べてみたところ、 Configure Commandのところが全然違うことがわかりました。 今回構築した環境では、 './configure' '--with-apxs2=/usr/sbin/apxs' '--with-mysql=/usr/local/mysql' ですが、 さくらサーバーは、 './configure' '--prefix=/usr/local/php/5.2' '--with-config-file-path=${prefix}/etc' '--with-config-file-scan-dir=${prefix}/etc/conf.d' '--enable-force-cgi-redirect' '--with-openssl=/usr/local/ssl' '--with-zlib=/usr' '--with-curl' '--enable-exif' '--with-pcre-dir=/usr/local' '--with-gd' '--with-jpeg-dir=/usr/local' '--with-png-dir=/usr/local' '--with-ttf' '--with-freetype-dir=/usr/local' '--with-gettext=/usr/local' '--with-gmp=/usr/local' '--with-iconv=/usr/local' '--enable-mbstring' '--with-mcrypt' '--with-mysql=/usr/local' '--with-mysqli=/usr/local/bin/mysql_config' '--with-pdo-mysql=/usr/local' '--with-snmp=/usr/local' '--enable-soap' '--with-xsl=/usr/local' '--enable-zip' と非常に多いです。 これらは関係あるでしょうか。初歩的な質問で恐縮ですが、ご存知の方がいらっしゃいましたら、ご教示いただけましたら助かります。 よろしくお願いします。
- ベストアンサー
- PHP
- spaceman18
- 回答数1
- Centosのシステムバックアップについて
こんばんは。 先日Centos5.5をPCにインストールし一通り使用できる状態になっています。 この状態をバックアップをとっておきたいのですが、システムをシングルユーザモード などではなく普通に起動した状態でバックアップをとるにはどうすればいいのでしょうか? (今はそうでなくてもいいですが今後そうする必要があるため) ■満たしたい条件等 ・ネットワーク越しの環境にもバックアップをとりたい ・RAID1を構築しているがその上で問題なくとりたい ・リストアすれば全く同じように立ち上がり使用できる dd による方法ではファイルのロックやファイルの権限等、関係なしにできそうですが、 現在2GBにも満たないシステムのバックアップをするには不都合なので今は 選択肢から外しています。 そこで rsync (rootによるssh)を試してみたのですが /sys /proc 以外は正常にバックアップできた ように思えます。この2カ所は調べるとバックアップの必要なしとの事でしたので一見正しく コピーできているように思えます。 つまり何かあったときにはブートローダさえコピーしておけば普通にこのデータでリストアできる のでしょうか? また tar コマンドで問題なくいけるならその方が rsync より負荷が低いように思えますが tar でもいけるのでしょうか? やはり負荷の事を考えるなら標準コマンドではないものでやった方が良いということなら その線でも検討しますができればこういった標準のコマンドで行いたいです。 またついでに質問なのですがサーバ会社などは新しいサーバ機のセットアップをこういった バックアップ→リストアという感じで行い量産するのだと思うのですが(わざわざCDから インストール・設定はしないはず)それは具体的に何を用いて行っているのかご存じで あれば是非ご教授頂きたく思います。 よろしくお願いします
- MySQLのエラーで非常に困っています
rootユーザーからログインし、操作をしますが mysqlの挙動がおかしいです。データベースの作成はできますが、消去の際にエラーが出ます。また、cms等をインストールする際もエラーが頻出します。 mysqlのアップデートもしましたが症状変わりません。 MAMPPではインストールできたので、設定がおかしい可能性が高いと予想しています。 正常にデータベースの作成、消去ができるようにするにはどのように対処すればよろしいでしょうか。 また、ローカルとリモートサーバの設定を比較するにはどうしたらよいでしょうか。 回答をよろしくお願いします。 環境 CentOS6.3 Server version: 5.6.22 MySQL Community Server (GPL) エラー一覧 データベースを消去する際 ERROR 1010 (HY000): Error dropping database (can't rmdir './bs', errno: 39) cmsをインストールする際 エラー: SQLSTATE[HY000]: General error: 1005 Can't create table 'bs.deleteme71431' (errno: -1) 別のcmsでは‥ An exception occurred while executing 'CREATE TABLE PermissionAccessWorkflows (paID INT UNSIGNED DEFAULT 0 NOT NULL, wfID INT UNSIGNED DEFAULT 0 NOT NULL, INDEX wfID (wfID), PRIMARY KEY(paID, wfID)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB': SQLSTATE[HY000]: General error: 1005 Can't create table 'cms_con573_2.PermissionAccessWorkflows' (errno: -1). 同じことを意味しているとは思いますが MySQLエラーログ InnoDB: The file already exists though the corresponding table did not InnoDB: exist in the InnoDB data dictionary. Have you moved InnoDB InnoDB: .ibd files around without using the SQL commands InnoDB: DISCARD TABLESPACE and IMPORT TABLESPACE, or did InnoDB: mysqld crash in the middle of CREATE TABLE? You can InnoDB: resolve the problem by removing the file './cms_con573/PermissionAccessWorkflows.ibd' InnoDB: under the 'datadir' of MySQL. InnoDB: Unable to lock ./cms_con573_2/PermissionAccessWorkflows.ibd, error: 37 141228 2:15:12 InnoDB: Error creating file './cms_con573_2/PermissionAccessWorkflows.ibd'. 141228 2:15:12 InnoDB: Operating system error number 37 in a file operation. InnoDB: Error number 37 means 'No locks available'. InnoDB: Some operating system error numbers are described at InnoDB: ttp://dev.mysql.com/doc/refman/5.5/en/operating-system-error-codes.html
- Tomcat高負荷時の設定について
現在、JMeterを使用してTomcat上で動作するAPに負荷を掛けた際のパフォーマンスを測定しております。 負荷を掛けずにブラウザで処理を実行した際には1秒程度でレスポンスが返却されてくるのですが、 以下の条件で負荷を掛けるとレスポンス速度が段々と遅く(8秒~500秒程度)なって行ってしまいます。 また、かなりの頻度でConnectionタイムアウトが返却されてしまいます。 [負荷条件] スレッド数:1000 Ramp-Up期間:60秒 ループ回数 :無限ループ ※ スレッド数を500くらいにするとConnectionタイムアウトは発生しないのですが、 処理時間はやはりかなり遅くなってしまいます。 最初はJVMのFullGCの頻発が原因かと思い、GCの状況を確認しましたが、 パフォーマンスに影響を与えそうなFullGCは特に発生していませんでした。 [JVM オプション] "-server -Xmx1024m -Xms1024m -XX:MaxPermSize=128m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseTLAB -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin=0 -XX:CMSIncrementalDutyCycle=10 -XX:MaxTenuringThreshold=0 -XX:SurvivorRatio=256 -XX:+PrintGCDetails -Xloggc:/usr/local/tomcat/logs/gc.txt" 次にTomcatのserver.xmlでの最大thread数がデフォルトの状態だったので、 maxthreadsの値をとりあえず「2000」まで増やしてみたのですが状況は変わらずでした。 [server.xml] <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8123" maxHttpHeaderSize="8192" minProcessors="5" maxProcessors="1000" maxThreads="2000" minSpareThreads="25" maxSpareThreads="1000" enableLookups="false" acceptCount="100" debug="0" connectionTimeout="60000" useURIValidationHack="false" disableUploadTimeout="false" /> また、topを確認してもロードアベレージが高くなっているのが少し気になりますが(5.0~7.0程度を推移)、 Swap領域等は使用されている訳でもありませんでした。 Tomcatの経験もほとんど無いため何がボトルネックとなっているのかが分からずに困っております。 皆さまの経験から、推奨される設定、どこを調査した方が良いか、または参考となるサイト等が御座いましたらご教授願えないでしょうか。 [環境] CentOS release 4.7 メモリ:4G CPU :Intel(R) Xeon(R) CPU 2.00GHz X 2 jdk1.5.0_14 Tomcat 5.5
- 締切済み
- Java
- k_mukitaro
- 回答数6
- MySQL 肥大化したテーブルへのINSERT速度
タイトルの件について、分かる方おりましたらどなたかご教授ください。 [DBサーバ] Linux CentOS 6.4 CPU Xeon core4 SSD 250GB RAM 32GB バージョン情報 MySQL 5.5 tomcat 6 JDK 6 会員データをCSVから大量にUSERテーブルへINSERTする処理を行っています。 また、それに関連するデータも同時にINSERTをします。 (USER_ID を持っている SERVICE_POINTテーブルやADDRESSテーブル) 処理の流れとしては以下となります。 (1) 会員情報の入ったCSVファイルをサーバへアップロード (2) 1でアップロードしたCSVファイルを○○○○件毎に一時ファイルに切り分ける ~~ ここからバックグラウンドで実行 ~~ (3) 2で切り分けたファイルをループで回しながら、メアドの重複やフォーマットエラーなどを判定する (4) 3でエラーがあれば即座にERRORSテーブルにエラー詳細をINSERTし、コミット&continue; (5) 3でエラーがなければUSERテーブル・SERVICE_POINTテーブル・ADDRESSテーブルへINSERT処理 (6) その他関連するテーブルへUPDATE処理 (7) 3に戻る ストレージエンジンは全てInnoDBです。 my.cnfのInnoDBの設定は以下の通りです。 innodb-buffer-pool-size = 24G innodb-log-buffer-size = 8M innodb-log-file-size = 1024M innodb_log_files_in_group = 3 innodb_fast_shutdown = 0 innodb_data_file_path = ibdata1:10M:autoextend innodb_file_io_threads = 4 innodb_change_buffering = all innodb_thread_concurrency = 16 innodb_flush_log_at_trx_commit = 2 innodb_max_dirty_pages_pct = 90 innodb_flush_method = O_DIRECT innodb_lock_wait_timeout = 120 innodb_additional_mem_pool_size = 128M innodb_file_format = Barracuda innodb_file_per_table = 1 なお、ERRORSテーブルのINSERTは非常に速いです。 会員数が全くない状態だとスムーズに登録されていくのですが (1秒に15件程度) テーブルが肥大化して20万件を超えると1秒に1件ほどしかINSERTされません。 この速度を少しでも速くしたいなと思っています。 1件ずつコミットしているのには理由があります。 ただ、1000件ずつコミットしても速度はほぼ変わりませんでした。 こういう場合、やはりパーティショニングを検討しなければならないでしょうか。 よろしければどなたかご教授ください。 以上、よろしくお願いいたします。
- 初投稿です。
初投稿です。 質問の仕方がおかしいかもしれませんが、宜しくお願いいたします。 業務でウェブアプリケーションを作っています。 【質問】 FireFox でAjax でデータを送信すると、Content-Type に「application/x-www-form-urlencoded; charset=UTF-8」が設定されてしまいます。 jQuery の $.ajax() のオプションで、「contentType:"application/x-www-form-urlencoded"」と指定しているのですが、必ず「charset=UTF-8」が付加されてしまします。 何とか「charset=UTF-8」の付加を回避する方法は無いでしょうか? ちなみに開発環境は次の様になっています。 【サーバ】 OS:CentOS5.5(エンコードはEUC_JP) Webサーバ:Apach 2.0.63 DB:PostgreSQL 8.2.14 開発言語:Perl v5.8.7 CGI JavaScriptライブラリ:jQuery 1.4.3 【クライアント】 OS:WindowsXP SP3 ブラウザ:IE8、FireFox3.6.11、Safari4.0.4 charset=UTF-8」が設定されてしまい、送信した値がCGIで受け取れない。 【質問の背景】 サーバ側でデータが取得できない原因は、Perlモジュールの(CGI)Lite.pmがフォームの値を取得する処理で、次のようなコードとなっているためです。 ※一部抜粋します。 sub parse_form_data{ $content_type = $ENV{CONTENT_TYPE}; #####▼ 問題はこの部分です。 if (!$content_type || ($content_type eq 'application/x-www-form-urlencoded')) { #####▲ local $^W = 0; read (STDIN, $post_data, $content_length); $self->_decode_url_encoded_data (\$post_data, 'form'); return wantarray ? %{ $self->{web_data} } : $self->{web_data}; } elsif ($content_type =~ /multipart\/form-data/) { ($boundary) = $content_type =~ /boundary=(\S+)$/; $self->_parse_multipart_data ($content_length, $boundary); return wantarray ? %{ $self->{web_data} } : $self->{web_data}; } else { $self->_error ('Invalid content type!'); } } 上記の書き方では、$content_type に値が入ってこないか、「application/x-www-form-urlencoded」だったらとなってしまいます。(あってますよね) 「charset=UTF-8」が付加されたときここを通ってくれずエラー扱いされてしまいます。 先輩に相談したところ、できるだけサーバのモジュールはいじりたくないとのことです。 また、GETメソッドもできるだけ使いたくないといわれました。 長文になってしまいましたが、なにとぞ宜しくおねがいいたします。
- 締切済み
- AJAX
- shinjin_08
- 回答数2
- Netscreen25 で DMZ->Internetへ接続できません
Netscreen25 で DMZ->Internetへ接続できません(長文)。 下記のような構成で自宅LANを構築しているところです。 TrustZoneからInternetへの接続はできたのですが、DMZからInternetへの接続がどうしてもできません(外部IPへのPing不可、Web見れない)。 この程度のトラブルシューティングもできない初心者ですが、アドバイス等頂ければ幸いです。 OKWave質問時の文字数制限のため、補足にてCONFIGも添付致します。 【構成】 eth1@Netscreen25 === Catalyst2960 === 端末1(Windows7) ・(Trust:192.168.0.0/24) ・I/FはNATモード、192.168.0.1/24 eth2@Netscreen25 === Server(CentOS5.5) ・(DMZ:192.168.254.0/24) ・I/FはNATモード、192.168.254.1/24 eth3@Netscreen25 === 回線終端装置 === (Internet) ・(Untrust:PPPoE接続) ・I/FはRouteモード、IPはISPからグローバルIP自動割当 <Routing Entries> [untrust-vr] なし [trust-vr] * 192.168.0.0/24 0.0.0.0 ethernet1 C 0 Root * 110.165.139.70/32 0.0.0.0 ethernet3 C 0 Root 0.0.0.0/0 202.216.4.204 ethernet3 S 1 Root * 0.0.0.0/0 202.216.4.204 ethernet3 C 1 Root * 192.168.254.0/24 0.0.0.0 ethernet2 C 0 Root 192.168.254.0/24 192.168.254.1 ethernet2 S 1 Root 192.168.0.0/24 192.168.0.1 ethernet1 S 1 Root 【現状】 ※Policiesは一時的に全ての方向とプロトコルをPermitにしています。 ・PING疎通 ◎端末1-> Internet ◎端末1-> Server ◎Server -> eth2@Netscreen25(192.168.254.1) ◎Server -> eth3@Netscreen25(ISPから自動割当されたグローバルIP) ×Server -> Internet(例yahoo.co.jp) ◎Server -> 端末1 ・HTTP接続 ◎端末1-> Internet ◎端末1-> Server ×Server -> Internet 【症状】 DMZのI/F配下のServerから、Internetに接続することができません。 ちなみに、Server側の設定に問題があるのか調べてみるために、ServerをTrustZoneのI/Fに接続したところ問題なくInternetに接続できました。 【Netscreen25のCONFIG】 ※OKWave質問時の文字数制限のため、補足にてCONFIGも添付致します。 ※管理者バスワード等のNW設定意外の行は省かせていただきます。 ※Netscreen25のOSのバージョンは5.0.0r10d.0です。
- 現在、自宅にてサーバを立てようとしていますが、WANからアクセスするこ
現在、自宅にてサーバを立てようとしていますが、WANからアクセスすることができない状態で困っています。 ポートチェックしてみたんですが、ポート自体が開いてない模様です。 以下のサイトでチェックいたしました。 http://www.akakagemaru.info/port/tcpport.php ポートが開いていない点を考えると、ルータの設定が問題なのではないかと思うのですが、理由が全く分からないので、何か思い当たる点などがありましたら、教えてください。 以下に自宅の環境を記載いたします。 ネットの契約状況 ISP=OCN キャリア=NTT西日本 プラン=OCN 光 with フレッツ マンション・西日本「光プレミアム」 接続方法としては、以下の通りです。 家の電話線―VDSLモデム―CTU―ルータ―サーバ機(192.168.100.11)、クライアントPC×2 | VoIP―電話機 CTU(=加入者網終端装置):設定状態はPPPoE接続を有効にして、ファイアーウォールを切った状態、それ以外は初期設定のままです。DHCPサーバとしては機能している模様。IP電話があるため、DHCPサーバ機能は切ることが出来ません。 ルータ(=Buffalo社のWHR-G300N):初期状態からの主な変更点は、 ・DNSサーバを指定(プライマリ:221.113.139.250、セカンダリ:202.234.232.6) ・Internet側MTU値を1500から1438へ(これは意味無いかも知れませんが、もしかしたらこれで大丈夫になるかもってNTT西日本の方に言われて変更しました) ・DHCPサーバ機能を「使用する」から「使用しない」に変更 ・ポートフォワーディングの設定(「ポート変換」という項目で、エアステーションのInternet側IPアドレスから192.168.100.11へポート20番を通すように設定) 大体こんな感じです。 また、サーバ機として使用しているPCはDELLのDimension5150Cで、OSはRedHat系のCentOS5.5を使用しています。 なお、同じLAN内に接続されているクライアントPCからはサーバ機に対してはアクセス可能なようです。 Webブラウザにて ftp://192.168.100.11/ と入力すると、問題なく開けます。 したがって、こちらはサーバ機自体は大丈夫だと考えております。 個人的に最も疑問なのが、ルータのステータスのIPアドレスが192.168.24.××というようになっていることです。 ルータのIPアドレス取得方法がDHCP自動取得という状態になっていて、WAN側のIPアドレスがどうやらCTUから割り当てられたプライベートIPアドレスになっているようなのですが、これって正しく繋がらない原因にならないんですかね? こちらの方もよろしければご回答いただきたいです。
- ベストアンサー
- ハードウェア・サーバー
- okinari
- 回答数5
- AwstatsとDigest認証の設定について
訂正箇所がありましたので再投稿致します。 ■問題 IE8(Windows7)でのみ、認証時に何度もパスワードを要求されてしまう。 ■サーバ環境 CentOS 5.5 Apache 2.2 (yumでインストール) Awstats 6.95 (dagリポジトリからyumでインストール) ドメイン例:aa.com 認証を試しているURL:http://aa.com/awstats/ # awstats用に追加したAliasとセクションコンテナ Alias /awstats/ /var/www/awstats/ <Directory /var/www/awstats/> DirectoryIndex awstats.pl Options ExecCGI order deny,allow deny from all allow from 192.16.1. </Directory> ■詳細内容 AWstatsのディレクトリにDigest認証をかけたく設定したのですが、IE8(Windows7)でのみ何度もパスワードを要求されてしまいます。 awstats.pl にアクセスした際に表示される画像に対して、画像ごとにパスワード要求が行われているようです。 IEのキャッシュを削除し、初回アクセスする時はパスワード要求は一度のみ行われ、ページも正常に表示されています。 IEを再起動した2度目以降にアクセスする際は、毎回画像ごとにパスワード要求が行われてしまいます。 (パスワードを全て入力していくとページは正常に表示され、2回目以降のパスワードをキャンセルし続けると画像のみが表示されない) IE7では試していないのでわかりませんが、IE6、Firefox、Safari、Chrome、Opera、Lunascapeなど他のブラウザではそのような現象は発生せず、パスワード要求は一度しか行われません。 また、IE8とIE6の場合はパスワード認証のダイアログが表示されている段階で、キャッシュに残っていると思われるページが表示されてしまいます。 IE以外のブラウザは正常に認証が行われているので設定ファイルでのディレクトリの指定間違いなどは無いと思うのですが、 IE向けに特別な設定オプションが必要なのでしょうか? IE6用に以下の設定はhttpd.confに追記しています。 BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On 提示するべき設定内容がありましたら提示いたしますので、よろしくお願いいたします。 ■訂正箇所 誤: awstats.pl と同じディレクトリに、単純にHTMLファイルに画像(Awstatsで使われるアイコン画像)をリンクさせたものを作って認証を試した場合は、 IEも含め試した全てのブラウザで画像ごとにパスワード要求が行われるようなことはありませんでした。 正: 単純にHTMLファイルに画像(Awstatsで使われるアイコン画像)をリンクさせたものを作って認証を試した場合も同様の結果でした。
- 順位を示すSQLをベースに文字項目の抽出
生徒の成績の得意不得意をあらわすSQLを考えています。 MySQL 5.5 CentOS6.3 どの教科がその生徒にとって一番得意科目であり、その教科はクラスで何位なのかを示すSQLです。 「クラスでの相対順位のもっとも高い教科とその順位」を表示します。 kamedaの一番の得意科目(クラスでの相対順位が最上位)は英語で、クラス2位である ということが分かるようにする予定です。 一度に名前と順位が入るようにするのが理想なのですが、その方法が分かりませんでしたので、別々にアップデートすることとしました。 アップデートには相対順位がもっとも高い教科を示す【順位SQL】とその教科を表示する【教科SQL】の2つを用意します。 【順位SQL】 「kamedaの一番の得意科目(クラスでの相対順位が最上位)は●●で、クラス2位」を表示する順位SQLは下記のSQLでうまくいきました。 【教科SQL】 次に、●●の部分を埋めるために、教科SQLを組みました。 しかしながら、 #1241 - Operand should contain 1 column(s) になってしまいます。 どこが適切ではないのか、ご教授頂けませんでしょうか? よろしくお願いいたします。 また、もし、2つのSQLに分けずに一回でアップデート可能な方法があれば、同時にお教え頂けましたら幸いです。よろしくお願いいたします。 **************************************************** ベースとなるデータ CREATE table seiseki2 (usr_id TEXT,kyoka_name TEXT,point INT); CREATE table point_rank (p_usr_id TEXT,1st_kyoka_name TEXT,1st_rank INT); INSERT INTO seiseki2 (usr_id,kyoka_name,point) values ('kameda','数学',85),('suzuki','数学',71),('kaneko','数学',32),('yosida','数学',61),('tanita','数学',70),('suyama','数学',80),('kisida','数学',61),('komine','数学',99),('tomita','数学',89),('sugita','数学',75),('kameda','国語',80),('suzuki','国語',46),('kaneko','国語',52),('yosida','国語',89),('tanita','国語',77),('suyama','国語',67),('kisida','国語',81),('komine','国語',89),('tomita','国語',69),('sugita','国語',70),('kameda','英語',94),('suzuki','英語',86),('kaneko','英語',50),('yosida','英語',59),('tanita','英語',48),('suyama','英語',97),('kisida','英語',74),('komine','英語',82),('tomita','英語',59),('sugita','英語',60); INSERT INTO point_rank (p_usr_id,1st_kyoka_name,1st_rank) values ('kameda','',''),('suzuki','',''),('kaneko','',''),('yosida','',''),('tanita','',''),('suyama','',''),('kisida','',''),('komine','',''),('tomita','',''),('sugita','',''); ************************************************ 【順位SQL(完成)】 UPDATE point_rank SET 1st_rank= (SELECT ( SELECT count( * ) +1 FROM seiseki2 AS t2 WHERE 1 AND t2.point > t1.point AND t2.kyoka_name = t1.kyoka_name ) AS rank FROM seiseki2 AS t1 WHERE t1.usr_id = point_rank.p_usr_id ORDER BY rank ASC LIMIT 0 , 1) 【教科SQL(未完成)】 UPDATE point_rank SET 1st_kyoka_name= kyoka_name WHERE (SELECT kyoka_name,( SELECT count( * ) +1 FROM seiseki2 AS t2 WHERE 1 AND t2.point > t1.point AND t2.kyoka_name = t1.kyoka_name ) AS rank FROM seiseki2 AS t1, point_rank AS p1 WHERE t1.usr_id = p1.p_usr_id ORDER BY rank ASC LIMIT 0 , 1) #1241 - Operand should contain 1 column(s)