Log in

No account? Create an account
Perlbal 1.01 - brad's life — LiveJournal [entries|archive|friends|userinfo]
Brad Fitzpatrick

[ website | bradfitz.com ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Perlbal 1.01 [Oct. 22nd, 2004|11:50 pm]
Brad Fitzpatrick
[Tags|, ]

New version of Perlbal:

Changes since 1.00:

    -- when internally redirecting a URL, perlbal advertises
       that it supports persisent HTTP connections now,
       and caches those sockets for 5 seconds.  (not configurable)
       useful under load, otherwise you waste all local ports
       on a machine

    -- ditch dependence on IO::SendFile.  do it ourselves (1 line)
       with perl's syscall function

    -- add doc/* and conf/* to MANIFEST file

That last item is probably the most important to you, the potentially interested user: I accidentally forgot to include the example config files in the last release.

[User Picture]From: iamo
2004-10-23 01:56 am (UTC)
Would perlbal be useful on a single-server php site as an alternative to using a second instance of apache as a reverse proxy for the classic reasons of doing so with mod_perl? (apache instances being very heavyweight, using a reverse proxy means you need to keep fewer of them open -- or so I understand it) It seems like it was practically designed for that role.
(Reply) (Thread)
[User Picture]From: brad
2004-10-23 07:22 am (UTC)
Yup, that's one of the main reasons we made it. We think it does a much better than mod_proxy (which is what we used to use)
(Reply) (Parent) (Thread)
[User Picture]From: iamo
2004-10-24 10:09 pm (UTC)
Hm, I was looking at it and it requires linux-aio. My servers all run freebsd, so I guess I wouldn't be able to use it. Looks like this is a requirement in perlbal itself? Is this maybe an encapsulation issue, since it seems that would be better done in Danga::Socket?

I'm not big on perl, so I'm wondering if you have any thoughts on what would be involved in removing the dependency, and/or if you think it would seriously affect its performance. Is there a perl version of libevent (like mogilefs uses) or liboop or something to that effect that could encapsulate the platform dependency effectively?
(Reply) (Parent) (Thread)
[User Picture]From: brad
2004-10-25 12:46 am (UTC)
Danga::Socket is the libevent/liboop/POE-like part.

Linux::AIO is a separate issue... it lets the master process dispatch filesystem work to be done async by other processes.

And we are working to remove the Linux::AIO dependency by making a pure-Perl, portable version.
(Reply) (Parent) (Thread)
From: yusufg
2004-10-24 07:47 pm (UTC)

How does this compare to Squid for reverse proxy

Brad, How does Perlbal compare with Squid in terms of its revers proxy functionality
(Reply) (Thread)
[User Picture]From: brad
2004-10-25 12:48 am (UTC)

Re: How does this compare to Squid for reverse proxy

I don't know. I haven't used Squid in ages, and I only know enough about it to know it didn't have what I needed when we did Perlbal. (internal redirects and free/paid queues, mostly)
(Reply) (Parent) (Thread)