[Apache]mod_uploader Part3[モジュール]

このエントリーをはてなブックマークに追加
942k ◆WFGp1NZuiw :2006/09/09(土) 05:20:57 ID:???
>>941
うう,なんか SEGV にいじめられてる...
構文木はちゃんと出来ているんだけど

http://acapulco.dyndns.org/movie_bbs/comment.svg [Firefox 推奨]
(入力: http://acapulco.dyndns.org/movie_bbs/comment.txt
943DNS未登録さん:2006/09/10(日) 13:15:21 ID:???
fedora 5で次のようなエラーが・・・どうすればよいでしょうか?
アップロードデータを読み込めませんでした
944943:2006/09/11(月) 22:21:16 ID:???
初めてでわかんないんですよ・・・・コンパイル難しいな・・・
945DNS未登録さん:2006/09/12(火) 12:18:44 ID:???
>>944
souka
946DNS未登録さん:2006/09/12(火) 13:02:25 ID:???
>643
多分半年早い。
947946:2006/09/12(火) 13:02:52 ID:???
くそう、アンカーを間違えちゃった……
948DNS未登録さん:2006/09/12(火) 15:27:18 ID:qReCExA8
XHTMLのようだけど、<script>タグの中はCDATAにしなくていいのか?普通に > とか < とか使ってるようだけど。
949944:2006/09/12(火) 19:04:33 ID:???
出直してきます
950k ◆WFGp1NZuiw :2006/09/12(火) 22:00:34 ID:???
>>948
ご指摘どうもです.次のリリースで修正します.
951k ◆WFGp1NZuiw :2006/09/13(水) 22:01:22 ID:???
■Apache2 のコンテンツハンドラの高速化 Tips - その1

ap_rputs を使わない。

ap_rputs を呼ぶと内部で、
buffer_output -> apr_brigade_write -> apr_bucket_heap_create
と言いう感じで関数が呼ばれてしまいます.この中でとくに buffer_output は
少し工夫すれば必要なくなるコードが含まれおり,最適化の余地があります.
(このことは「future optimization」として protocol.c のコメントに書かれています)

mod_fast_bbs では簡単なラッパークラス ApacheResponsWriter を用いて最適化
を行いました.
(コード: http://acapulco.dyndns.org/movie_bbs/api/ApacheResponseWriter_8h-source.htm)

このクラスを用いることにより,コンテンツハンドラのスループットが 約
1.4 倍に高速化しました.
952DNS未登録さん:2006/09/14(木) 00:01:27 ID:???
mod_uploaderのApacheResponseWriterもそれ使ってね
953DNS未登録さん:2006/09/14(木) 00:13:48 ID:???
http://pc8.2ch.net/test/read.cgi/mysv/1141810775/951

ap_rputs() を使ってるとこをちょっと工夫すると
約1.4倍高速化するらしいですよ。(ソースコード有り)
954DNS未登録さん:2006/09/14(木) 00:15:46 ID:???
誤爆
955DNS未登録さん:2006/09/14(木) 00:21:47 ID:???
名無しで潜伏してるんだなー。
956DNS未登録さん:2006/09/14(木) 00:23:54 ID:???
こうなっちゃうとなんか変なんで向こうのスレも張っちゃおう
http://qb5.2ch.net/test/read.cgi/operate/1105909861/
957DNS未登録さん:2006/09/14(木) 15:18:32 ID:???
仲良し喧嘩すんな(^^v

次スレ

[Apache]mod_uploader Part4[モジュール]
http://pc8.2ch.net/test/read.cgi/mysv/1079763650
958k ◆WFGp1NZuiw :2006/09/14(木) 22:50:41 ID:???
>>952
時間が出来たら...
ただいま未読の Blog 記事が 200 を突破しそうな勢いで泣きそうです.


; Cocoa での管理だと破綻しそうなのでとりあえず Livedoor Reader にインポート
959k ◆WFGp1NZuiw :2006/09/15(金) 00:39:04 ID:???
テンプレートエンジンを使って性能を測って見ました.

記事数: request/sec (ab2 -c 5 -n 3000)
10 : 5069.94 [#/sec] (mean)
50 : 3411.56 [#/sec] (mean)
100 : 2523.34 [#/sec] (mean)
200 : 1575.10 [#/sec] (mean)
400 : 834.93 [#/sec] (mean)
800 : 414.14 [#/sec] (mean)
(環境は Linux 2.6.15, Apache 2.0.58 prefork, Pentium M 1.6 GHz)

表示する記事数が多いとかなり厳しいですね...


現時点の http://pv.40.kg/ を見ると 2ch で一番アクセスが多い板は
game10.2ch.net でピークのアクセスは 680,753 (22:00〜22:59, Total).
つまり 189 requesr/sec.
とりあえず,キャッシュ機構なしで 2ch 程度の掲示板は捌けそうです.
960k ◆WFGp1NZuiw :2006/09/15(金) 00:53:01 ID:???
ちなみに静的なファイルの場合

800 : 1348.65 [#/sec] (mean)

です.3 倍ほど高速.
961DNS未登録さん:2006/09/15(金) 18:27:26 ID:???
スゲー
962DNS未登録さん:2006/09/15(金) 18:34:25 ID:???
ご主人様にかかれば、2ch程度余裕なのですね!!
963k ◆WFGp1NZuiw :2006/09/18(月) 14:31:55 ID:???
実はここ内心ショボすぎる,と思っていたり.

静的なファイルで 1348.65 [#/sec] しか出ないというのもあるんでちょっとは
慰めになるんですが,414.14 [#/sec] はちょっと悲しい.

と言うわけで CGI 化してプロファイルとってみました.

Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls s/call s/call name
32.49 0.77 0.77 17387000 0.00 0.00 TemplateExecutor<CGIResponseWriter>::exec_print_element(TemplateParser::Node const*)
16.46 1.16 0.39 1 0.39 0.39 BBSThreadManager::clear_shm()
13.50 1.48 0.32 5490000 0.00 0.00 TemplateExecutor<CGIResponseWriter>::get_variable(TemplateParser::Node const*)
10.13 1.72 0.24 1000 0.00 0.00 BBSThreadVariableCreator::create(apr_pool_t*, BBSCommentIterator*) const
9.28 1.94 0.22 5490000 0.00 0.00 TemplateExecutor<CGIResponseWriter>::exec_print_bank(TemplateParser::Node const*)
5.06 2.06 0.12 __i686.get_pc_thunk.bx
3.80 2.15 0.09 915000 0.00 0.00 BBSCommentIterator::get_comment(BBSThread::bbs_comment_p*) const
2.53 2.21 0.06 918000 0.00 0.00 TemplateExecutor<CGIResponseWriter>::exec_stmt(TemplateParser::Node const*)
2.53 2.27 0.06 917000 0.00 0.00 TemplateExecutor<CGIResponseWriter>::exec_print(TemplateParser::Node const*)
1.69 2.31 0.04 915000 0.00 0.00 TemplateExecutor<CGIResponseWriter>::calc_i_val(TemplateVariable::Variable const*)
1.69 2.35 0.04 1000 0.00 0.00 TemplateExecutor<CGIResponseWriter>::exec_foreach(TemplateParser::Node const*)
0.84 2.37 0.02 915000 0.00 0.00 BBSCommentIterator::go_next()

びみょー.
964k ◆WFGp1NZuiw :2006/09/18(月) 19:36:11 ID:???
livedoor Reader なんかびみょーかも.
バックエンドのエンジンが弱すぎるきがする今日この頃.
965935:2006/09/19(火) 18:56:28 ID:???
FedoraCore5でサムネイル作成されない件についてですが
CentOS4.4では正常に作成されることを確認しました。(いずれもyumから)
ImageMagickのバージョンによるものかもしれません。

↓FedoraCore5
# rpm -qa | grep ImageMagick
ImageMagick-6.2.5.4-4.2.1.fc5.3
ImageMagick-c++-6.2.5.4-4.2.1.fc5.3
ImageMagick-perl-6.2.5.4-4.2.1.fc5.3
ImageMagick-devel-6.2.5.4-4.2.1.fc5.3
ImageMagick-c++-devel-6.2.5.4-4.2.1.fc5.3

↓CentOS4.4
# rpm -qa | grep ImageMagick
ImageMagick-perl-6.0.7.1-16
ImageMagick-c++-6.0.7.1-16
ImageMagick-6.0.7.1-16
ImageMagick-c++-devel-6.0.7.1-16
ImageMagick-devel-6.0.7.1-16

966k ◆WFGp1NZuiw :2006/09/19(火) 19:19:52 ID:???
>>965
6.2.5 だとまずいかもってことですね.情報有り難うございます.
967k ◆WFGp1NZuiw :2006/09/23(土) 23:56:31 ID:???
>>951
>■Apache2 のコンテンツハンドラの高速化 Tips - その1
この方法だとちょとまずいかも.もっと,フィルタ周りについて理解する必要
がありそう...
968DNS未登録さん:2006/09/24(日) 00:06:54 ID:???
まじで?mod_uploaderに>>951のApacheResponseWriterつかっっちゃってるよ。
問題なさそうに見えるけど普通のApacheResponseWriterに戻しとくか。
969k ◆WFGp1NZuiw :2006/09/24(日) 00:53:54 ID:???
>>967
原因判明.フィルタ以前に,iovec_count_ の扱いに問題がありました.
セキュリティ的にまずいのです.

>>968
mod_fast_bbs の位置づけはまだαなので,様子見しておいてもらったほうがい
いかも...
970k ◆WFGp1NZuiw :2006/09/24(日) 00:55:29 ID:???
なんかちょっとした書き損じが多いなぁ.

誤:
>セキュリティ的にまずいのです.
正:
セキュリティ的にまずいです.
971k ◆WFGp1NZuiw :2006/09/24(日) 15:28:25 ID:???
近況:
非同期 I/O を用いたプログラムのサンプルとしては memcached がいいかも.
というわけで最近 memcached のソース読み始めました.
972k ◆WFGp1NZuiw :2006/09/24(日) 15:30:47 ID:???
捕捉です.
>>971
コードのサイズ&読みやすさがいいです.
lighttpd もサイズ的にはいいんですが,読みやすさは memcached に劣るよう
な気がします.
973k ◆WFGp1NZuiw :2006/09/24(日) 18:49:54 ID:???
ついに Apache 2.0 module 本が発売されそうです!
Pro Apache 2.0 Module Development: From Professional To Expert
http://www.amazon.co.jp/exec/obidos/ASIN/1590594436/cstation-22
974k ◆WFGp1NZuiw :2006/09/25(月) 00:07:33 ID:???
C4819 問題へのマイクロソフトの回答

http://support.microsoft.com/kb/912790/ja
この問題を解決するには、Microsoft Product Support Services にお問い合わ
せのうえ、修正プログラムを入手してください。 Microsoft Product Support
Services の電話番号一覧およびサポート料金については、次のマイクロソフト
Web サイトを参照してください

で,でんわが必要なんですか...
975k ◆WFGp1NZuiw :2006/09/25(月) 02:05:30 ID:???
976DNS未登録さん:2006/09/25(月) 12:20:22 ID:???
>>973
ごっ、ご主人様が書かれたんですか?!
977DNS未登録さん:2006/09/25(月) 12:25:06 ID:???
978DNS未登録さん:2006/09/25(月) 13:09:34 ID:???
24しました!!!
979DNS未登録さん:2006/09/25(月) 14:19:53 ID:???
次のスレタイ、k様スレでいいよ
MEMO:とか私的利用し過ぎだろ。理解できんわ
980DNS未登録さん:2006/09/25(月) 14:43:02 ID:???
ご主人様スレxだってば
981DNS未登録さん:2006/09/25(月) 14:50:54 ID:???
もっとご主人様 Part4で。
982DNS未登録さん:2006/09/25(月) 16:18:22 ID:???
ご主人様!
983DNS未登録さん:2006/09/25(月) 16:32:58 ID:???
[Apache]mod_uploader Part4[モジュール]
http://pc8.2ch.net/test/read.cgi/mysv/1159169538/
984DNS未登録さん:2006/09/26(火) 16:25:07 ID:???
食う清めてないよ
985k ◆WFGp1NZuiw :2006/09/27(水) 01:45:58 ID:???
TODO (mod_fast_bbs):
- RFC1867 な POST リクエストのパーサの整理
- ApacheResponseWriter のデバッグ
- inoue さんの Code Blog 読み
- memcached のソースコード読み
986DNS未登録さん:2006/09/27(水) 07:48:44 ID:???
> TODO (mod_fast_bbs):

これは、

> [Apache]mod_uploader Part3[モジュール]

という題名のスレに書くことですか?ご主人様。
987DNS未登録さん:2006/09/28(木) 11:56:26 ID:???
ご主人様のメモ帳ですから.
988DNS未登録さん:2006/09/28(木) 14:34:56 ID:???
したらばでも借りたらいいのに
989k ◆WFGp1NZuiw :2006/09/30(土) 21:01:20 ID:EzQ3CKMq
make 一発で WIndows にログインして VisualStudio と Intel C++ Compiler
でコンパイルしてテストを実行するようにしてみた.

http://acapulco.dyndns.org/movie_bbs/status/

; Mac mini が WOL に対応してれば Mac でのテストも自動化したいなぁ.
; 電源入れてないこと多いので.
990DNS未登録さん:2006/09/30(土) 21:54:03 ID:???
> make 一発で WIndows にログインして VisualStudio と Intel C++ Compiler
> でコンパイルしてテストを実行するようにしてみた.

そういうつまらないことは、make でやるべきことなのかな?
991k ◆WFGp1NZuiw

CI(Continuous Integration)システムを使うにしても,make(Makefile) や
ant(build.xml) は普通使うけど