and-httpd-devel Mailing List for And-httpd web server (Page 7)
Status: Beta
Brought to you by:
james-antill
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
(16) |
Apr
(3) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
(4) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(4) |
Feb
(7) |
Mar
(6) |
Apr
(8) |
May
(5) |
Jun
(9) |
Jul
(14) |
Aug
(9) |
Sep
(11) |
Oct
(2) |
Nov
(3) |
Dec
(6) |
2008 |
Jan
(7) |
Feb
(14) |
Mar
(26) |
Apr
(26) |
May
(14) |
Jun
(7) |
Jul
(30) |
Aug
(5) |
Sep
(7) |
Oct
(9) |
Nov
(12) |
Dec
(14) |
2009 |
Jan
(29) |
Feb
(4) |
Mar
(20) |
Apr
(20) |
May
(88) |
Jun
(80) |
Jul
(45) |
Aug
(16) |
Sep
(17) |
Oct
(28) |
Nov
(9) |
Dec
(4) |
2010 |
Jan
(2) |
Feb
(2) |
Mar
(37) |
Apr
(58) |
May
(76) |
Jun
(67) |
Jul
(33) |
Aug
(49) |
Sep
(18) |
Oct
(3) |
Nov
(1) |
Dec
|
2011 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(3) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: craigms7 <cra...@ho...> - 2007-04-14 09:59:55
|
Hillo9 c0c |
From: Elmer C. <eng...@do...> - 2007-04-13 16:49:41
|
hi Elmer Look at UFSJ symbol, it amazing. Looks like it start to burn. |
From: more <njs...@ch...> - 2007-03-31 08:33:16
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; charset=3Diso-8859-1"> <META content=3D"MSHTML 6.00.2900.2912" name=3D"GENERATOR"> </HEAD> <BODY> <DIV align=3Dleft><FONT face=3DArial size=3D2>Thank you for your loan request, which we recieved yesterday, your refinance application has been accepted</FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2>Good Credit or Not, We are ready to give you a $342,000 loan, after further review, our lenders have established the lowest monthly payments.</FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2>Approval process will take only 1 minute.</FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2>Please visit the confirmation link below and fill-out our short 30 second Secure Web-Form. </FONT></DIV><BR> <a href=3D"http://twoflkefsabox.com/">http://twoflkefsabox.com/</a></BODY></HTML> |
From: Jennie E. <dre...@ba...> - 2007-03-22 07:01:14
|
Thank you for your loan request, which we recieved yesterday, we'd like to inform you that we are accepting your application, bad credit ok, We are ready to give you a $272,000 loan (Refinance approved) for a low month payment. Approval process will take only 1 minute. Please visit the confirmation link below and fill-out our short 30 second form. http://quinkjkcmean.com |
From: WIRELESS <sam...@bl...> - 2007-03-05 09:23:24
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; charset=3Diso-8859-1"> <META content=3D"MSHTML 6.00.2900.2912" name=3D"GENERATOR"> </HEAD> <BODY> <DIV align=3Dleft><FONT face=3DArial size=3D2>GDKI STEPS UP TO BAT FOR ANOTHER HOMERUN MONDAY!</FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2>GOLDMARK - FULL SCALE PRODUCTION AND DISTRIBUTION OF WORLD WIDE ENTERTAINMENT!</FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2>TICKER: GDKI</FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2>OPENING: $0.105</FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2>WHEN? - MONDAY FEB 05 2007</FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2>The strength of Goldmark Industries is the result of its highly reputable and continuously growing management team. The knowledge and experience that each team member brings consistently supports the growing success of each division at Goldmark Industries. In addition, they are associated with some of the world's leading entertainment companies and top distribution channels worldwide, providing Goldmark Industries with the relationships to continually move forward.</FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2><U>HABANA BLUES STILL MAKING NEWS!! <GDKI> HEADING FOR THE TOP OF THE MOUNTAIN!</U></FONT></DIV></BODY></HTML> |
From: Cart <mmh...@bt...> - 2007-03-02 11:44:47
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; charset=3Diso-8859-1"> <META content=3D"MSHTML 6.00.2900.2912" name=3D"GENERATOR"> </HEAD> <BODY> <DIV align=3Dleft><FONT face=3DArial size=3D2><I>SUPERNOVA *GDKI* IS ON THE MOVE STILL!</I></FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2><I>YOUVE SEEN THEM.. YOUVE HEARD ABOUT THEM...</I></FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2><I>HABANA BLUES IS STILL MAKING MAJOR HEADLINES WORLDWIDE!</I></FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2><B><U>GOLDMARK INDUSTRIES - www DOT goldmarkentertainment DOT com</U></B></FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2>The Day To Trade: <B>March, 02 Friday 2007</B> </FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2>Ticker Symbol: <B>GDKI</B> </FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2>Opens Friday: $0.13 </FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2><B><U>GOLDMARK INDUSTRIES</U></B> is committed to providing the best in all forms of urban entertainment to the <B>45 Million Hip-Hop consumers in North America</B>. The average North American spends more on entertainment than they do on health care and clothing, making entertainment the most attractive industry for investors and advertisers alike. Goldmark Industries is preparing to stand at the forefront of the Hip Hop consumer market, specializing in all aspects of entertainment, including <B>Music, Feature Films, Television, Home Video/DVD and Major Events.</B></FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2><U><B>IS THIS SUPERNOVA PREPARED TO EXPLODE EVEN MORE? PUT *GDKI* ON YOUR RADAR FRIDAY MAR 02 2007</B></U></FONT></DIV></BODY></HTML> |
From: Siorus T. <co...@ma...> - 2007-02-20 14:24:55
|
Hi, VIArrGRA $3. 35 VALrrIUM $1. 25 CIArrLIS $3. 75 XArrNAX SOrrMA FOR LESS! http://www.kedrx-com Replace "-" with "." in the above link to make it working. Maybe they couldnt get anyone! said Hermione, looking anxious. Harry scanned the table more carefully. Tiny little Professor Flitwick, the Charms teacher, was sitting on a large pile of cushions beside |
From: Source <ks...@ce...> - 2007-01-27 00:21:54
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; charset=3Diso-8859-1"> <META content=3D"MSHTML 6.00.2900.2912" name=3D"GENERATOR"> </HEAD> <BODY> <DIV align=3Dleft><FONT face=3DArial size=3D2><B>TRADERS! PSUD is going through the roof next week!</B></FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2><I>WATCH OUT! </I></FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2><I>Monday January 29 IS SURE TO BE A GOOD DAY!</I></FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2>Company: <B>PetroSun</B> </FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2>Sym: <B>PSUD</B> </FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2>Currently: <B>$0.52 (+0.09 Close) 20.9%</B></FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2>Friday Target: <B>$1.50</B></FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2>2007-01-11 11:46 ET - News Release</FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2>PetroSun, Incorporated (PNKSHEETS: PSUD) recently announced that they have an agreement executed with New Standard Exploration NL of West Perth, Australia. It covers the Exploration Pemit 417 which is location within Western Australias Canning Basin. a Joint venture has been established to explore develop and produce oil and or gas from EP417. PetroSun was assigned a 75% working interest in the permit, intial consideration of $5Million.</FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2><B><U>ADD THIS TO YOUR LIST AND WATCH IT LIKE A HAWK ON Monday January 29, 2007!!!!<U></B></FONT></DIV></BODY></HTML> |
From: Vashti M. <tre...@na...> - 2007-01-25 20:21:58
|
Hi, Via_xgra $3. 35 Val_xium $1. 20 Cia_xlis $3. 75 Xan_xax $1. 45 Amb_xien $2. 90 http://www.33rx*.com ( Important! Remove "*" to make the link working ) -- your Ministry of Magic have lured me here under false pretenses, Dumbledore! This is not an equal competition! First you sneak Potter into the tournament, though he is underage! Now one of your Ministry |
From: whirring. <ovs...@di...> - 2007-01-24 19:23:26
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; charset=3Diso-8859-1"> <META content=3D"MSHTML 6.00.2900.2912" name=3D"GENERATOR"> </HEAD> <BODY> <DIV align=3Dleft><FONT face=3DArial size=3D2>Thank you for your loan request, which we recieved yesterday, your refinance application has been accepted</FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2>Good Credit or Not, We are ready to give you a $372,000 loan, after further review, our lenders have established the lowest monthly payments.</FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2>Approval process will take only 1 minute.</FONT></DIV><BR> <DIV align=3Dleft><FONT face=3DArial size=3D2>Please visit the confirmation link below and fill-out our short 30 second Secure Web-Form. </FONT></DIV><BR> <a href=3D"http://pobfrnoot.com">www.pobfrnoot.com</a><BR></BODY></HTML> |
From: up P. <qcf...@ce...> - 2006-12-25 20:14:01
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; charset=3Diso-8859-1"> <META content=3D"MSHTML 6.00.2900.2912" name=3D"GENERATOR"> </HEAD> <BODY> <FONT face=3DArial><FONT size=3D2> <DIV>Michael says: <STRONG>GCME Huge News Release Expected Before Years = End!=20 </STRONG></DIV> <DIV><STRONG></STRONG> </DIV> <DIV><STRONG>Ring In The New Year With Cash!</STRONG></DIV> <DIV> </DIV> <DIV> <DIV><STRONG>GCME</STRONG> is fast becoming a major player in the = foreign film=20 market. With continuing mergers and joint ventures with the industries = most=20 influential corporations.</DIV> <DIV> </DIV></DIV> <DIV><STRONG>Company:</STRONG> Greater China Media & Entertainment=20 Corp.<BR>Symbol: <STRONG>GCME</STRONG><BR><STRONG>Price:</STRONG>=20 $0.70<BR>Status: <STRONG>BUY ALERT</STRONG><BR><STRONG>5 Day = Target:</STRONG>=20 $1.45</DIV> <DIV> </DIV> <DIV><STRONG>Right now</STRONG> it is at $0.70. We have seen consistent = price=20 jumps following <STRONG>news releases</STRONG> and we have been told to=20 <STRONG>expect big news</STRONG> before the end of the year. Look at the = price=20 patterns, see the spikes and the steady climb for yourself. <U>Now is = the time,=20 grab GCME first thing <STRONG>Tuesday</STRONG>=20 Morning</U>.</DIV></FONT></FONT></BODY></HTML> |
From: James A. <ja...@an...> - 2006-11-15 01:06:45
|
"Adam Zell" <zel...@gm...> writes: > Hello, > > Substantial performance improvements noted here: > http://blog.lighttpd.net/articles/2006/11/12/lighty-1-5-0-and-linux-aio > http://blog.lighttpd.net/articles/2006/11/14/linux-aio-and-large-files See my response: http://illiterat.livejournal.com/2989.html ...the PR is mightier than the reality. It's possible the result is still faster in some cases, although misleadingly named, but IMNSHO it's the wrong approach. And I can guarantee there are cases where it'll perform worse. The right approach for real zero copy AIO, atm., is to have multiple helpers doing semi blocking IO using splice() with the "master" process doing splice() between the helper pipe and the network socket. There is also the real aio_sendfile() call, if/when that ever gets into Linux[1]. Doing the above with 4 IO helpers is basically the better/efficient way of just changing the 0.9.11 config with something like: (org.and.daemon-conf-1.0 procs = 4 * <sysconf-number-processors-configured>) ...now. > It is not clear to me without looking at the code why lighttpd chose to use > pthreads. Additional reading on AIO: > > http://www-128.ibm.com/developerworks/linux/library/l-async/ The glibc implementation of AIO (which is the portable interface, libaio is extremely Linux specific, and basically deprecated) is backed by a pthread pool (for one of the implementations, it prefers the libaio approach if that works ... which it doesn't always). From what I saw lighttpd uses the libaio API, but I assume some glibc dependency also fell out due to bad documentation. [1] Although splice() might still be better, even then ... but it is much more work, so if it gets in before I implement the splice() way it might be a long time before we find out :). -- James Antill -- ja...@an... http://www.and.org/and-httpd/ -- $2,000 security guarantee http://www.and.org/vstr/ |
From: Adam Z. <zel...@gm...> - 2006-11-14 17:59:33
|
Hello, Substantial performance improvements noted here: http://blog.lighttpd.net/articles/2006/11/12/lighty-1-5-0-and-linux-aio http://blog.lighttpd.net/articles/2006/11/14/linux-aio-and-large-files It is not clear to me without looking at the code why lighttpd chose to use pthreads. Additional reading on AIO: http://www-128.ibm.com/developerworks/linux/library/l-async/ Adam |
From: James A. <ja...@an...> - 2006-10-04 07:19:26
|
"Adam Zell" <zel...@gm...> writes: > Greetings, > > On 9/21/06, James Antill <ja...@an...> wrote: > "Adam Zell" <zel...@gm...> writes: >> >> > Hello, >> > >> > I had a quick look at And-HTTPD, and am curious if the following >> features >> > are supported: >> > >> > * HTTP/1.1 pipelining (reduce TCP cold start) >> >> Yes, Vstr makes this much less work. > > Hmmm...I am not sure if this means it *is* implemented, or if it *could* be > with a minimum of effort. Both. It is implemented. And was easy to do efficiently, due to Vstr. > To ensure we are referring to the same feature, > pipelining allows a client to send multiple requests over the same > connection without waiting for the initial response. The server must send > back the responses in the same order as the requests. Yes, see httpd.c:httpd_serv_recv() for the start. Currently and-httpd will not parse the next request if there is data to go out on a previous one (as there seems little point) ... but it will continue to read the requests from the network (upto a configurable amount of data). And if you have a pipeline of say, OPTIONS requests (or HEAD, or are using mmap() IO, etc.) then the code path looks like: httpd_serv_recv() -> (network recv) http_parse_req() -> http_req_op_get() / _opts() / _trace() -> [ http_fin_fd_req() ] http_fin_req() -> httpd_serv_send() -> (network send) httpd__serv_fin_send() -> http_parse_req() -> ... ...Ie. and-httpd will actually parse multiple requests from a single network recv event. Note that and-httpd uses TCP_CORK, so while scatter/gather is at the heart of Vstr ... it isn't required to have as much data as possible be in one writev() call. > The feature is useful > in that it allows a client to send multiple packets before blocking on a > response, giving the TCP stack time to measure latency/windows size/etc. > >> * FastCGI, SCGI, LSAPI, etc. (external application support) >> >> Not at the moment, this is probably the next big thing that's >> needed. I mostly have a design, but haven't got around to implementing >> it. Also I think that most people want less FastCGI etc. and more >> controlled HTTP proxying type behaviour. >> It doesn't help that I don't have anything that needs dynamic content >> generation right now (at least anything that can't be done using the >> and-ssi, scons, etc. tools). > > > I think that there is still a large market for PHP/Ruby/Python connectors > without a separate web server (note the momentum which lighttpd and > LiteSpeed have gained by supporting RoR). The proxy approach makes sense > when there are multiple back-ends but that would imply some sort of load > balancing logic on the HTTP server. Have you given any thought to cluster > management similar to a layer 5/7 switch? I've certainly given some thought to how to distribute dynamic requests over multiple backends, but the first dynamic implementation probably won't care a lot about how to sync multiple requests from a single Cookied/etc. user to a single server. >> Have you done any comparisons or benchmarks to >> Cherokee/Lighttpd/LiteSpeed? >> >> I've done some personal benchmarks, they were mostly against itself >> (Ie. strace etc.) although I've done a few against thttpd and some >> against gatling. While I read the lighttpd mailing list, I'm reticent >> to do comparisons against even that due to unfamiliarity (and even if >> it won, it has a horrible design). > > The code is also somewhat bloated and difficult to follow. I would not use > it on any production servers, but I would use thttpd. Cherokee seems > advanced but I haven't had a chance to play with it much. From what I can > tell from the mailing list stability is an issue. Right, I've personally not found lighttpd that great from a QoI point of view. But then one of my first experiences with it was responding to someone else's statement that it was "secure" upon which I grep'd the source for 15 minutes and found a buffer overflow. But, then again, I've found a lot of conformance problems of edge cases in Apache-httpd ... so I just think most people probably have different values of "good" (and they do have more features and users, so I'm probably also not with the majority of users either). > Also there's a big problem of lack of usable benchmarking software, >> and a lot of people have fall back on using "ab" even though it's a >> horribly inefficient program. > > > Here's a couple which may be decent alternatives to ab: > > http://jakarta.apache.org/jmeter/ > http://grinder.sourceforge.net/ I hadn't seen these, I'll have a look. > http://www.hpl.hp.com/research/linux/httperf/ This I have seen though, and while it's better than ab ... I wouldn't call it efficient. The really hacky client the dietlibc guy did for gattling (although horrible code) was very fast, so I've also used that. > I believe most, if not all of the above packages support coordinating load > generation from multiple machines. Testing via. multiple machines isn't worth my doing atm. as I don't have a decent multi-GB network. > One thing I've thought about doing is a http-client type API, which I >> could use to write a decent benchmark client, http-fuzz program and >> dynamic content stuff. But there's a lot of things I'd like to do, and >> I don't have time for all of them :) >> >> A lot of the speed comes from: >> >> 1) Pipelining (thttpd is probably one of the few that doesn't have >> that though). > > > Pipelining or persistent connections? There is little difference, with static content, if you are using TCP_CORK (and good reason not to do things in parallel). In theory with dynamic content if you have "req1, req2, req3" and both "req1 and req2" take 5 seconds, then you want to run them in parallel on the server. However a few things suggest that this isn't a good idea to me: 1. Each req. shouldn't be taking that long in a "normal" website design, IMO. You'll have stylesheets/images/favicon.ico requests in there too. 2. The client could just as easily open multiple network connections. 3. You have inherent parallelism due to all the other network connections, from other users (it being very rare for a server you'd care about efficiency that much to only have a small number of connections to the outside world). 4. There are a lot of clients that don't understand HTTP well, and having rare failures for almost no gain is bad. > Oh, I also forgot to ask about SSL > support. I am not sure if/how OpenSSL fits into the secure design, given > its crufty API. It's kind of planned, but it won't be in the And-httpd server itself (mainly due to the fact I don't trust the OpenSSL or GNUTLS code). The obvious choice is putting something like stunnel on the connection, in a sandbox (so it can only read and write on the sockets). > 2) TCP_DEFER_ACCPET (if you have a lot of dead connections, which some >> benchmarks tend to do, you do no work at all). >> 3) TCP_CORK for certain workloads (although I think the latest >> lighttpd beta has that too). >> 4) epoll/sendfile (although most decent webservers have had both of >> those for a while now too). > > > What systems do you plan to support? Solaris has a couple of different APIs > for multiplexing (/dev/poll and Solaris 10 events) while *BSD has kqueue. I > would guess Windows is not a priority. I plan on supporting them all (the POSIX ones), and it should be close. However, for obvious reasons, everything but Linux is kind of second tier ... so optimizations tend to get done there first (FreeBSD's crappy sendfile API still isn't patched in, and that should be simple) and the Linux API can affect the design where others don't (splice/tee in Linux is likely to push me to getting NFS async zero copy IO into and-httpd, but all the kqueue extras don't make an appearance). Saying that, adding the /dev/poll and kqueue event frameworks should be simple patches to evnt.c > 5) Memory scalability due to Vstr, although this is mostly unconfirmed >> by data ... it should be true, and is the hardest for anything else to >> copy :). > > + scatter/gather IO. Have you thought of using custom memory allocators to > reduce fragmentation similar to memcached? A lot of the Vstr is design is based around IO vectors, and it has a custom memory allocator (and not just for efficiency reasons). Although I wrote Vstr, I have no problem saying it is brilliant :). There is a significant amount of documentation that I wrote for it -- James Antill -- ja...@an... Need an efficient and powerful string library for C? http://www.and.org/vstr/ |
From: James A. <ja...@an...> - 2006-09-22 05:14:17
|
Sorry, I've got a lot of spam from @gmain.com ... so unless I've emailed you before @gmail.com addresses tend not to get looked at for a while, which is what happened to you. "Adam Zell" <zel...@gm...> writes: > Hello, > > I had a quick look at And-HTTPD, and am curious if the following features > are supported: > > * HTTP/1.1 pipelining (reduce TCP cold start) Yes, Vstr makes this much less work. > * HTTP/1.1 chunking (useful for Comet and streaming applications) No, and while I can see some usage for a streaming application I'm not 100% convinced that constant streaming is a good thing to use HTTP for. Saying that, I'd probably allow it as an optional feature after I've done dynamic content generation support. > * FastCGI, SCGI, LSAPI, etc. (external application support) Not at the moment, this is probably the next big thing that's needed. I mostly have a design, but haven't got around to implementing it. Also I think that most people want less FastCGI etc. and more controlled HTTP proxying type behaviour. It doesn't help that I don't have anything that needs dynamic content generation right now (at least anything that can't be done using the and-ssi, scons, etc. tools). > Have you done any comparisons or benchmarks to Cherokee/Lighttpd/LiteSpeed? I've done some personal benchmarks, they were mostly against itself (Ie. strace etc.) although I've done a few against thttpd and some against gatling. While I read the lighttpd mailing list, I'm reticent to do comparisons against even that due to unfamiliarity (and even if it won, it has a horrible design). Also there's a big problem of lack of usable benchmarking software, and a lot of people have fall back on using "ab" even though it's a horribly inefficient program. One thing I've thought about doing is a http-client type API, which I could use to write a decent benchmark client, http-fuzz program and dynamic content stuff. But there's a lot of things I'd like to do, and I don't have time for all of them :) A lot of the speed comes from: 1) Pipelining (thttpd is probably one of the few that doesn't have that though). 2) TCP_DEFER_ACCPET (if you have a lot of dead connections, which some benchmarks tend to do, you do no work at all). 3) TCP_CORK for certain workloads (although I think the latest lighttpd beta has that too). 4) epoll/sendfile (although most decent webservers have had both of those for a while now too). 5) Memory scalability due to Vstr, although this is mostly unconfirmed by data ... it should be true, and is the hardest for anything else to copy :). (the same might well be true of TCP_CONGESTION, as noone else has that yet ... AFAIK). > If you don't have any objection and plan to keep the code active, I would be > interested in extending the server (note: I have previously contributed to > thttpd and Lighttpd). That would be great, I'm happy to look at all contributions and help you in anyway with the code. I have a "TODO list"[2] which will in theory tell you what I'm thinking about trying to write for and-httpd next (treat it as higher == more likely, but mostly from the ex_httpd section :). Probably the biggest difference to other webservers will be the almost total usage of Vstr[1], for string/buffer operations. But hopefully that will actually help, due to the documentation for same. Do you know about the mailing lists at: http://sourceforge.net/mail/?group_id=162195 ...feel free to post any questions/patches/etc. there. [1] http://www.and.org/vstr/ [2] http://www.and.org/and-httpd/TODO -- James Antill -- ja...@an... http://www.and.org/and-httpd |
From: James A. <ja...@an...> - 2006-06-15 16:28:17
|
Ashley Palmer <as...@7a...> writes: > hello james, any chance you could bring any light on this compile error > on slackware-10.1.0 useing currect versions of and-http and its libs > > gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/usr/local/include > -DHTTPD_CONF_VERSION='"0.99.6"' -g -O2 -c -o and_httpd-and-httpd.o `test > -f 'and-httpd.c' || echo './'`and-httpd.c The current version is 0.99.8, there have been a lot of build fixes since 0.99.6. > and-httpd.c: In function `serv_cmd_line': > and-httpd.c:710: error: `cap_t' undeclared (first use in this function) > and-httpd.c:710: error: (Each undeclared identifier is reported only > once > and-httpd.c:710: error: for each function it appears in.) > and-httpd.c:710: error: parse error before "caps" > and-httpd.c:712: error: `caps' undeclared (first use in this function) This means you don't have the development parts of libcap installed, so you won't be able to do a couple of things related to dropping privileges. > make[2]: *** [and_httpd-and-httpd.o] Error 1 > make[2]: Leaving directory `/usr/src/and-httpd-0.99.6/src' > make[1]: *** [all] Error 2 > make[1]: Leaving directory `/usr/src/and-httpd-0.99.6/src' > make: *** [all-recursive] Error 1 > > > thank you n/p, let me know how it goes. -- James Antill -- ja...@an... http://www.and.org/and-httpd |
From: James A. <ja...@an...> - 2006-04-02 21:09:05
|
Bennett Todd <be...@ra...> writes: > 2006-04-01T17:22:45 James Antill: >> *grins* ... looking at the log "httpd 7" and "httpd_conf_7 2" failed, >> both of which need gzip and bzip2 available ... do you have those? > > Oh, yes. In flavours. /usr/bin/gzip and /usr/bin/bzip2 are the > standalone utils; /bin/gzip is busybox. > >> ../scripts/diff_ex_tst.sh httpd 7 > > --- ../tst/ex_httpd_out_7 2006-02-13 02:24:49.000000000 +0000 > +++ ./ex_httpd_tmp_7 2006-04-02 15:31:45.000000000 +0000 > @@ -24,7 +24,7 @@ > Last-Modified: Thu, 14 Oct 2004 07:02:24 GMT > Accept-Ranges: bytes > Vary: Accept-Encoding > -Content-Type: application/x-gzip > +Content-Type: application/x-gunzip > Content-Length: 136 > > HTTP/1.1 200 OK Ahh, this means /etc/mime.types is different. Mine has: application/x-gzip gz tgz ...which is what I'd expected all of them were. I could work around it by shipping my own mime.types file, at least for testing if not for the production version. Just to make sure, could you try with the mime.types at: http://www.and.org/patches/mime.types >> ../scripts/diff_ex_tst.sh httpd_conf_7 2 > > ; ../scripts/diff_ex_tst.sh httpd_conf_7 2 > Binary files ../tst/ex_httpd_conf_7_out_2 and ./ex_httpd_conf_7_tmp_2 differ > ; diff -a ../tst/ex_httpd_conf_7_out_2 ex_httpd_conf_7_tmp_2 I think this is the same problem, but I can't read none unified diffs. If it doesn't work still can you try with diff -au (I'll change the script). -- James Antill -- ja...@an... http://www.and.org/and-httpd |
From: Bennett T. <be...@ra...> - 2006-04-02 15:38:11
|
2006-04-01T17:22:45 James Antill: > *grins* ... looking at the log "httpd 7" and "httpd_conf_7 2" failed, > both of which need gzip and bzip2 available ... do you have those? Oh, yes. In flavours. /usr/bin/gzip and /usr/bin/bzip2 are the standalone utils; /bin/gzip is busybox. > ../scripts/diff_ex_tst.sh httpd 7 --- ../tst/ex_httpd_out_7 2006-02-13 02:24:49.000000000 +0000 +++ ./ex_httpd_tmp_7 2006-04-02 15:31:45.000000000 +0000 @@ -24,7 +24,7 @@ Last-Modified: Thu, 14 Oct 2004 07:02:24 GMT Accept-Ranges: bytes Vary: Accept-Encoding -Content-Type: application/x-gzip +Content-Type: application/x-gunzip Content-Length: 136 HTTP/1.1 200 OK > ../scripts/diff_ex_tst.sh httpd_conf_7 2 ; ../scripts/diff_ex_tst.sh httpd_conf_7 2 Binary files ../tst/ex_httpd_conf_7_out_2 and ./ex_httpd_conf_7_tmp_2 differ ; diff -a ../tst/ex_httpd_conf_7_out_2 ex_httpd_conf_7_tmp_2 143c143 < HTTP/1.1 406 Not Acceptable --- > HTTP/1.1 200 OK 146c146 < Last-Modified: --- > Last-Modified: Thu, 14 Oct 2004 07:02:24 GMT 148,151c148,150 < Vary: Accept,Accept-Encoding,Accept-Language < Content-Type: text/plain < Content-Length: 17 < Content-Language: en --- > Vary: Accept-Encoding > Content-Type: application/x-gunzip > Content-Length: 132 153,154c152 < ERROR 406 en/txt < HTTP/1.1 406 Not Acceptable --- > >QQQt = `QpHTTP/1.1 200 OK 157c155 < Last-Modified: --- > Last-Modified: Thu, 14 Oct 2004 07:02:24 GMT 159,163c157,159 < Vary: Accept,Accept-Encoding,Accept-Language < Content-Type: text/html < Content-Encoding: gzip < Content-Length: 144 < Content-Language: fr --- > Vary: Accept-Encoding > Content-Type: application/x-gunzip > Content-Length: 132 ;=20 |
From: James A. <ja...@an...> - 2006-04-01 17:23:37
|
Bennett Todd <be...@ra...> writes: > 2006-03-27T02:40:24 James Antill: >> Did you run "make check" too? > > I just did. First run lots o' stuff failed, this is the first thing > that's insisted on having /etc/protocols. So I added that, and most > things passed; make check output attached. Two tests failed. *grins* ... looking at the log "httpd 7" and "httpd_conf_7 2" failed, both of which need gzip and bzip2 available ... do you have those? If not, could you add those for the "make check" part? If you do, or you get more failures can you: cd src ../scripts/diff_ex_tst.sh httpd 7 ...where the two arguments depend on what test failed. Ie. the above is for: FAILURE(28959) ./../tst/tst_httpd_vhosts.pl: tst ex_httpd 7 for the other failure of: FAILURE(28177) ./../tst/tst_httpd_conf.pl: tst ex_httpd_conf_7 2 you'd do: ../scripts/diff_ex_tst.sh httpd_conf_7 2 TIA. -- James Antill -- ja...@an... http://www.and.org/and-httpd |
From: SiaLasPapeleras.NET <in...@si...> - 2006-03-26 17:50:08
|
<html> <title>Gusanit0</title> </head> <body> <div style=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"BACKGROUND-COLOR:white\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"><table border=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"><tr><td><center> </td></tr><tr><td><font face=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"verdana, tahoma, arial, sans-serif\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" size=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" color=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"black\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"><b> ¡Hola!<br> Te invitamos a visitar la siguiente página Web oficial a favor de las plantas de celulosa en Uruguay: <br> <br> <a href=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"http://www.sialaspapeleras.net/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\">http://www.sialaspapeleras.net</a><br> <br> Dando un click sobre el banner de arriba al lado del logo estarás colaborando con la web, es solo un click, y si es uno por cada vez que entres mejor! para que podamos seguir manteniendo nuestra Web online.<br> Por un Uruguay con más trabajo!, no somos ambientalistas a ultranza ni radicalistas del medio ambiente, <br> sino que creemos que se puede equilibrar la defensa del medio ambiente con la generación de fuentes de empleo y la inversión que el país precisa...<br>------------------------------------------------------------------<br> Si podés reenvia este email a todos los que puedas!.</td></tr></table> </body> </html> |
From: Bennett T. <be...@ra...> - 2006-03-26 13:47:14
|
2006-03-20T01:40:06 James Antill: > #ifndef __GLIBC__ > # define strverscmp(x, y) strcmp(x, y) > #endif >=20 > ...I assume uLibc is defining that due to a lot of things assuming > GLibc =3D=3D Linux. Changing it to an #if 1 will work fine, if I don't do > the right fix for the next release I'll autoconf it properly. That did it --- very sorry for the unreasonable delay getting back to you. Entirely on Bent Linux: : pic.bent.dom; curl -I http://localhost:8008/foo HTTP/1.1 200 OK Date: Sun, 26 Mar 2006 13:33:23 GMT Server: and-httpd/0.99.7 Last-Modified: Sun, 26 Mar 2006 13:31:56 GMT Accept-Ranges: bytes Vary: Accept-Encoding Content-Length: 4 : pic.bent.dom; Thanks! If you've any interest in linking to a statically-linked uClibc and-httpd, <URL:http://bent.latency.net/bent/i386/and-httpd-0.99.7.cpio.bz2>, a bpm (Bent Package Manager) package of a full install, including the sources. It's a cpio with relative paths, so a proper install is an extract from root, but it's easy to extract it anywhere and pull out bits of interest. usr/sbin/and-httpd is 580KB. -Bennett |
From: James A. <ja...@an...> - 2006-03-20 01:40:48
|
Bennett Todd <be...@ra...> writes: > 2006-03-18T17:19:17 James Antill: >> Here's the updated patch with the .c file changes too: >> >> http://www.and.org/patches/and-httpd-2006-03-18-inline.patch > > gcc -Os -ffunction-sections -fdata-sections -s -Wl,--gc-sections -o and-dir_sort and_dir_sort-opt.o and_dir_sort-bag.o and_dir_sort-and-dir_sort.o -s -Wl,--gc-sections /usr/lib/libvstr.a > and_dir_sort-bag.o(.text.bag_cb_sort_key_vers+0x15): In function `bag_cb_sort_key_vers': > : undefined reference to `strverscmp' > collect2: ld returned 1 exit status > make[2]: *** [and-dir_sort] Error 1 > make[2]: Leaving directory `/var/tmp/bpmbuild.11853/build/and-httpd-0.99.7/src' > make[1]: *** [all] Error 2 > make[1]: Leaving directory `/var/tmp/bpmbuild.11853/build/and-httpd-0.99.7/src' > make: *** [all-recursive] Error 1 > > Looks like I need to find a way to tell it, yes, this is Linux, but > no, it's not glibc. Yeh, my fault ... that's on the fix list, but I want a non-trivial fix so haven't got around to it. At the top of bag.c there is: #ifndef __GLIBC__ # define strverscmp(x, y) strcmp(x, y) #endif ...I assume uLibc is defining that due to a lot of things assuming GLibc == Linux. Changing it to an #if 1 will work fine, if I don't do the right fix for the next release I'll autoconf it properly. -- # James Antill -- ja...@an... :0: * ^From: .*james@and\.org /dev/null |
From: Bennett T. <be...@ra...> - 2006-03-19 18:45:22
|
2006-03-18T17:19:17 James Antill: > Here's the updated patch with the .c file changes too: >=20 > http://www.and.org/patches/and-httpd-2006-03-18-inline.patch gcc -Os -ffunction-sections -fdata-sections -s -Wl,--gc-sections -o and-dir= _sort and_dir_sort-opt.o and_dir_sort-bag.o and_dir_sort-and-dir_sort.o -s = -Wl,--gc-sections /usr/lib/libvstr.a and_dir_sort-bag.o(.text.bag_cb_sort_key_vers+0x15): In function `bag_cb_so= rt_key_vers': : undefined reference to `strverscmp' collect2: ld returned 1 exit status make[2]: *** [and-dir_sort] Error 1 make[2]: Leaving directory `/var/tmp/bpmbuild.11853/build/and-httpd-0.99.7/= src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/bpmbuild.11853/build/and-httpd-0.99.7/= src' make: *** [all-recursive] Error 1 Looks like I need to find a way to tell it, yes, this is Linux, but no, it's not glibc. -Bennett |
From: James A. <ja...@an...> - 2006-03-18 17:20:04
|
Bennett Todd <be...@ra...> writes: > 2006-03-17T16:46:36 James Antill: >> Here's a patch: >> >> http://www.and.org/patches/and-httpd-2006-03-17-inline.patch > > And alas, another failure: > > gcc -Os -ffunction-sections -fdata-sections -s -Wl,--gc-sections -o and-httpd and_httpd-mime_types.o and_httpd-httpd_conf_main.o and_httpd-httpd_conf_req.o and_httpd-httpd_policy.o and_httpd-httpd_policy_inline.o and_httpd-bag.o and_httpd-conf.o and_httpd-cntl.o and_httpd-date.o and_httpd-evnt.o and_httpd-hexdump.o and_httpd-opt.o and_httpd-opt_policy.o and_httpd-opt_serv.o and_httpd-vlg.o and_httpd-conf_inline.o and_httpd-opt_policy_inline.o and_httpd-httpd.o and_httpd-and-httpd.o -s -Wl,--gc-sections /usr/lib/libvstr.a /usr/lib/libsocket_poll.a /usr/lib/libtimer_q.a > and_httpd-opt_policy_inline.o(.bss.in6addr_any+0x0): multiple definition of `in6addr_any' > and_httpd-httpd_policy_inline.o(.bss.in6addr_any+0x0): first defined here > and_httpd-opt_policy_inline.o(.bss.in6addr_loopback+0x0): multiple definition of `in6addr_loopback' > and_httpd-httpd_policy_inline.o(.bss.in6addr_loopback+0x0): first defined here > collect2: ld returned 1 exit status > make[2]: *** [and-httpd] Error 1 > make[2]: Leaving directory `/var/tmp/bpmbuild.26475/build/and-httpd-0.99.7/src' > make[1]: *** [all] Error 2 > make[1]: Leaving directory `/var/tmp/bpmbuild.26475/build/and-httpd-0.99.7/src' > make: *** [all-recursive] Error 1 Argghh ... that's the same error, the patch I posted failed to include the changes to the .c files. Sorry. Here's the updated patch with the .c file changes too: http://www.and.org/patches/and-httpd-2006-03-18-inline.patch -- James Antill -- ja...@an... http://www.and.org/and-httpd |
From: Bennett T. <be...@ra...> - 2006-03-18 15:47:40
|
2006-03-17T16:46:36 James Antill: > Here's a patch: >=20 > http://www.and.org/patches/and-httpd-2006-03-17-inline.patch And alas, another failure: gcc -Os -ffunction-sections -fdata-sections -s -Wl,--gc-sections -o and-htt= pd and_httpd-mime_types.o and_httpd-httpd_conf_main.o and_httpd-httpd_conf_= req.o and_httpd-httpd_policy.o and_httpd-httpd_policy_inline.o and_httpd-ba= g.o and_httpd-conf.o and_httpd-cntl.o and_httpd-date.o and_httpd-evnt.o and= _httpd-hexdump.o and_httpd-opt.o and_httpd-opt_policy.o and_httpd-opt_serv.= o and_httpd-vlg.o and_httpd-conf_inline.o and_httpd-opt_policy_inline.o and= _httpd-httpd.o and_httpd-and-httpd.o -s -Wl,--gc-sections /usr/lib/libvstr= =2Ea /usr/lib/libsocket_poll.a /usr/lib/libtimer_q.a and_httpd-opt_policy_inline.o(.bss.in6addr_any+0x0): multiple definition of= `in6addr_any' and_httpd-httpd_policy_inline.o(.bss.in6addr_any+0x0): first defined here and_httpd-opt_policy_inline.o(.bss.in6addr_loopback+0x0): multiple definiti= on of `in6addr_loopback' and_httpd-httpd_policy_inline.o(.bss.in6addr_loopback+0x0): first defined h= ere collect2: ld returned 1 exit status make[2]: *** [and-httpd] Error 1 make[2]: Leaving directory `/var/tmp/bpmbuild.26475/build/and-httpd-0.99.7/= src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/bpmbuild.26475/build/and-httpd-0.99.7/= src' make: *** [all-recursive] Error 1 -Bennett |