タグ

ブックマーク / www.drk7.jp (9)

  • 文字コード変換ミスによる文字化けパターンと想定される原因 - drk7jp

    とあるシステムでデータベースから引いてきたデータの表示が文字化けするという不具合がありました。 データベース内のデータとしては文字化けしていない状態で格納されていることはわかっていたので、どこかしらの文字変換で化けていることはわかっています。まずはどの誤変換により文字化けするのか原因切り分けのために、decode/encode の組み合わせによる文字化けパターン一覧を作りました。おかげさまでどのパターンに類するものか判別することができ、無事に改修することができました。 その話はまた別にするとして、今も昔も変わらず文字化けに悩む人は意外と多いと思います。誤変換結果一覧は原因解析の参考になると思い、記事としてまとめることにしました。 文字コード変換ミスによる文字化けパターンを可視化するプログラムと一覧表 まずは誤変換を生成する perl スクリプトです。プログラムはとっても簡単で、「文字化けで

    uzulla
    uzulla 2013/04/07
    便利すぎワラタ/Latin-1からUTF-8の、「a」だらけ、最近良く見ますね。
  • PerlMagick が OpenMP 有効だと高負荷になる件

    ImageMagick と PerlMagick を使った CGI が原因不明の高負荷になり、ドツボに嵌ったので、備忘録として残しておくことにします。結論からすると apache + ImageMagick + PerlMagick を安定稼働させるには ImageMagick を OpenMP 無効化してコンパイルする必要があるようです。 具体的には下記のようなオプションを付けてコンパイルを行うことで安定動作となります。 ※ --disable-openmp --disable-opencl は一緒に指定する必要があります。 cd /usr/local/src/ wget http://image_magick.veidrodis.com/image_magick/ImageMagick-6.7.4-2.tar.gz tar xvfz ImageMagick-6.7.4-2.tar.gz

  • Apache2 - worker MPM のプロセス&スレッド数のチューニング

    前エントリ pound と apache をバランスよくチューニングする必要性について の続きです。Apache2 のチューニングによる高負荷(大量アクセス)対策を考えてみます。 ここまできてやっと、そもそも高負荷時に apache2 のプロセス数が足りていなく、静的コンテンツの応答時間が遅延しているのかも?という仮説を立てることができました。図解するとこんな感じです。 Apache2 はもちろん worker MPM で動作させています。worker MPM ってなんぞ?という方は、このブログを読んで頂けている方にはいらっしゃらないかと思いますが http://httpd.apache.org/docs/2.0/mod/worker.html あたりを読むと良いでしょう。 このマルチプロセッシングモジュール (MPM) は、マルチスレッドとマルチプロセスのハイブリッド型サーバを 実装して

  • Slowloris HTTP DoS 攻撃について

    ちょっと前に Apacheに新たな脆弱性発見 - スラッシュドット・ジャパン で紹介されていた脆弱性なんですけど・・・会社のお達しで各サービス毎に状況報告ってイベントがあったので、ちょいと脆弱性試験してました。そのまとめです。 Apacheに、DoS攻撃に繋がる脆弱性が新たに見つかったそうだ(家/.記事より) この脆弱性は、これを利用したHTTP DoSツール「Slowloris」がリリースされたことから明らかになったとのこと。この攻撃ツールはApacheに不完全なリクエストヘッダーを送り続けるもので、Apacheが最後のヘッダが送られてくるのを待つ間、偽のヘッダを送ることで接続をオープンにし続け、Apacheのプロセスを一杯にさせるものだという。 脆弱性はApache 1.x、 2.x、 dhttpd、 GoAhead WebServer、そしてSquidにて確認されているが、IIS6

  • あなたの作ったメール配信システムはエラーメール処理をしていますか?

    今回はメルマガ等やメーリングリストのように大量のメールを配信するためのメール配信システムを自前で開発している方向けの情報(備忘録?)です。 大量のメールを配信する場合、配信できなかったエラーメールを適切に処理することが重要です。たとえば、 なんて感じです。適切なエラーメール処理なくば、知らず知らずのうちに SPAMer と同じようなメール配信をしていることになってしまうのです。かく言う僕の作ったメール配信システムも、それほどエラーメール処理を厳密に行っているわけではなく、何とかしないとなぁ〜と思っている今日この頃で、ちまちま資料を集め始めて仕様検討している次第です。

    uzulla
    uzulla 2009/03/10
  • Linux チューニング - Ext3 のパフォーマンスを最大化させる

    じつは自宅サーバのロードアベレージが上がり続けています。分析の結果、ボトルネックは I/O 処理でした。CPU は Athlon64 X2 4400+ ですが、まだまだ当分この CPU で間に合いそうです。HDD は当時は 7200 回転で最速だった HITACHI Deskstar T7K250 SATA2 250GB を RAID1 構成にしたのですが、今思えば速度優先で RAID0 にしておけば良かったと少しだけ後悔。 I/O がボトルネックに成っている理由ですが、Drk7jp が公開しているサービスの全てがキャッシュファイルを利用した高速化手法を取っているのですが、単純にそれらファイルの write 処理が追いついていません。常に何らかのプロセスで I/O 待ち状態が発生しているような状況です。抜的な解決方法としては disk を高速なものに交換する以外ありません。 というわけで

  • Perl で作る画像類似検索システムの考察

    今日はとてもショッキングな出来事がありました。あまりにショックがでかいので何かに没頭しなければ気が紛れそうにありません。と言うわけで全く専門分野でもないし当面使う予定もないのですが、1年ほど前にちょっと気になっていた画像の類似検索についていろいろ調べてみました。 どうやら ImgSeek ってソフトが結構有名らしいです。最新バージョンは 0.86 で Linux Only です。1つ前のバージョン 0.85 は Windows binary があります。 過去にいくつか画像類似検索ソフトを試したような記憶がありますが忘れてしまいました(vector でも結構類似検索ソフトありますね)。まずは windows binary 版をダウンロードしてきて実行してみました。 それなりに使えそうな予感がします。Linux 向けの imgSeek-0.8.6.tar.bz2 をダウンロードしてインストー

    uzulla
    uzulla 2007/08/19
    類似画像検索
  • リバースプロキシを導入する際はmod_rpaf

    僕の自宅サーバには2つの Apache がインストールされていて、用途により使い分けています。 * Apache 1.3系 + mod_perlAmazon Search / Google Similar といった高速性を求めるサービス * Apache 2.0系 → その他の静的コンテンツや 通常用途の CGI 等の動的コンテンツ なぜ使い分けるかというと、mod_perl はメモリー喰いなので、静的画像のためにプロセスがもったいない訳です。当に必要なリクエストにのみ mod_perl をかませば良いですから。 (参考ページ:リバースプロキシ Pound を導入しました。 : NDO::Weblog) で、2つの Apache を透過的に見せてあげるために、リバースプロキシの Pound を使っています。負荷分散も実装できて優れものですが、欠点が一つ。 リクエストをリバースプロキ

    uzulla
    uzulla 2005/10/03
  • lighttpd + FastCGI は mod_perl + Apache1.3 より1割ほど高速 :: Drk7jp

    巷で超高速 Web サーバとして話題になっている lighttpd を試してみました。lighttpd に関する日語ドキュメントは非常に少なく、ちょっと込み入った設定ファイルの記述方法とかの解析に手間取りました。 lighttpd のコンセプトは、「セキュアで省メモリで高速に動作し、柔軟性もある」なのですが、「lighttpd 公式サイトのベンチマーク結果」や「UnknownPlace. - Catalyst ベンチ」で簡単な Catalyst - Hello.cgi のベンチマークが公開されているとおり、Apache 1系、Apache 2系よりも高速に動作するようです。特に static なページの処理は Apache の 2〜3 倍程度は高速に処理できるみたいです。 また注目すべき点として、Apache + mod_perl よりも lighttpd + FastCGI の方が1割

    uzulla
    uzulla 2005/10/03
  • 1