Patrick Galbraith (capttofu) wrote,
  • Location:
  • Mood:
  • Music:

Perl/mod_perl/DBI/etc: To thread or not to thread

Here's a question I posted to the DBI as well as mod_perl mailing list that I thought would be also a good question to ask here:

Hi all,

I'm currently working on... of all things, a book on book about web app programming with Perl/Apache/MySQL, and I'm trying to explain what Ubuntu packages to use for installation (and I'm sure other Linux variants same applies)

Ubuntu gives you:

apache2-mpm-prefork
apache2-prefork-dev
apache2-mpm-worker
apache2-threaded-dev

I've used both prefork and worker (as of late, due to concerns with perl and threads), both of which seem to work fine. Though, the DBI documentation warns of caveats of using threaded, especially if the client is not thread safe (I always compile mysql with a thread-safe client, and DBD::mysql against that thread safe client).

So... I'm trying to decide if I should explain

1. There are issues with using threads - what all are they?
2. What they should use- prefork or worker?
3. What is the consensus?
4. Is there a document available giving the pros and cons?
5. What is the official state of Perl with regards to threading?

As an author, I'm thinking I don't want to give advice, only inform.

Thanks for you inputs, advice, suggestions, etc.
Tags: apache, dbi, mod_perl, mysql, perl
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 4 comments