Varnish performance with phpinfo
Johan Hendriks
joh.hendriks at gmail.com
Fri Jun 23 16:52:53 CEST 2017
Thanks for you answer.
I was thinking about that also, but I could not find anything that
pointed in that direction.
But should I hit that limit also with the info.html file then or could
it be the size of the page.
The info.html is off cource way smaller than the whole php.info page.
regards
Johan
Op 23/06/2017 om 10:58 schreef Guillaume Quintard:
> Stupid question but, aren't you being limited by your client, or a
> firewall, maybe?
>
> --
> Guillaume Quintard
>
> On Fri, Jun 2, 2017 at 12:06 PM, Johan Hendriks
> <joh.hendriks at gmail.com <mailto:joh.hendriks at gmail.com>> wrote:
>
> Hello all, First sorry for the long email.
> I have a strange issue with varnish. At least I think it is strange.
>
> We start some tests with varnish, but we have an issue.
>
> I am running varnish 4.1.6 on FreeBSD 11.1-prerelease. Where
> varnish listen on port 82 and apache on 80, This is just for the
> tests.
> We use the following start options.
>
> # Varnish
> varnishd_enable="YES"
> varnishd_listen="192.168.2.247:82 <http://192.168.2.247:82>"
> varnishd_pidfile="/var/run/varnishd.pid"
> varnishd_storage="default=malloc,2024M"
> varnishd_config="/usr/local/etc/varnish/default.vcl"
> varnishd_hash="critbit"
> varnishd_admin=":6082"
> varnishncsa_enable="YES"
>
> We did a test with a static page and that went fine. First we see
> it is not cached, second attempt is cached.
>
> root at desk:~ # curl -I www.testdomain.nl:82/info.html
> <http://www.testdomain.nl:82/info.html>
> HTTP/1.1 200 OK
> Date: Fri, 02 Jun 2017 09:19:52 GMT
> Last-Modified: Thu, 01 Jun 2017 12:50:37 GMT
> ETag: "cf4-550e57bc1f812"
> Content-Length: 3316
> Content-Type: text/html
> cache-control: max-age = 259200
> X-Varnish: 2
> Age: 0
> Via: 1.1 varnish-v4
> Server: varnish
> X-Powered-By: My Varnish
> X-Cache: MISS
> Accept-Ranges: bytes
> Connection: keep-alive
>
> root at desk:~ # curl -I www.testdomain.nl:82/info.html
> <http://www.testdomain.nl:82/info.html>
> HTTP/1.1 200 OK
> Date: Fri, 02 Jun 2017 09:19:52 GMT
> Last-Modified: Thu, 01 Jun 2017 12:50:37 GMT
> ETag: "cf4-550e57bc1f812"
> Content-Length: 3316
> Content-Type: text/html
> cache-control: max-age = 259200
> X-Varnish: 5 3
> Age: 6
> Via: 1.1 varnish-v4
> Server: varnish
> X-Powered-By: My Varnish
> X-Cache: HIT
> Accept-Ranges: bytes
> Connection: keep-alive
>
> if I benchmark the server I get the following.
> First is derectly to Apache
>
> root at testserver:~ # bombardier -c400 -n10000
> http://www.testdomain.nl/info.html
> <http://www.testdomain.nl/info.html>
> Bombarding http://www.testdomain.nl/info.html
> <http://www.testdomain.nl/info.html> with 10000 requests using 400
> connections
> 10000 / 10000
> [=============================================================]
> 100.00% 0s
> Done!
> Statistics Avg Stdev Max
> Reqs/sec 12459.00 898.32 13301
> Latency 31.04ms 25.28ms 280.90ms
> HTTP codes:
> 1xx - 0, 2xx - 10000, 3xx - 0, 4xx - 0, 5xx - 0
> others - 0
> Throughput: 42.16MB/s
>
> This is via varnish. So that works as intended.
> Varnish does its job and servers the page better.
>
> root at testserver:~ # bombardier -c400 -n10000
> http://www.testdomain.nl:82/info.html
> <http://www.testdomain.nl:82/info.html>
> Bombarding http://www.testdomain.nl:82/info.html
> <http://www.testdomain.nl:82/info.html> with 10000 requests using
> 400 connections
> 10000 / 10000
> [=============================================================]
> 100.00% 0s
> Done!
> Statistics Avg Stdev Max
> Reqs/sec 19549.00 7649.32 24313
> Latency 17.90ms 66.77ms 485.07ms
> HTTP codes:
> 1xx - 0, 2xx - 10000, 3xx - 0, 4xx - 0, 5xx - 0
> others - 0
> Throughput: 71.58MB/s
>
>
> The next one is against a info.php file, which runs phpinfo();
>
> So first agains the server without varnish.
>
> root at testserver:~ # bombardier -c400 -n10000
> http://www.testdomain.nl/info.php <http://www.testdomain.nl/info.php>
> Bombarding http://www.testdomain.nl/info.php
> <http://www.testdomain.nl/info.php> with 10000 requests using 400
> connections
> 10000 / 10000
> [============================================================]
> 100.00% 11s
> Done!
> Statistics Avg Stdev Max
> Reqs/sec 828.00 127.66 1010
> Latency 472.10ms 59.10ms 740.43ms
> HTTP codes:
> 1xx - 0, 2xx - 10000, 3xx - 0, 4xx - 0, 5xx - 0
> others - 0
> Throughput: 75.51MB/s
>
> But then against the server with varnish.
> So we make sure it is in cache
>
> root at desk:~ # curl -I www.testdomain.nl:82/info.php
> <http://www.testdomain.nl:82/info.php>
> HTTP/1.1 200 OK
> Date: Fri, 02 Jun 2017 09:36:16 GMT
> Content-Type: text/html; charset=UTF-8
> cache-control: max-age = 259200
> X-Varnish: 7
> Age: 0
> Via: 1.1 varnish-v4
> Server: varnish
> X-Powered-By: My Varnish
> X-Cache: MISS
> Accept-Ranges: bytes
> Connection: keep-alive
>
> root at desk:~ # curl -I www.testdomain.nl:82/info.php
> <http://www.testdomain.nl:82/info.php>
> HTTP/1.1 200 OK
> Date: Fri, 02 Jun 2017 09:36:16 GMT
> Content-Type: text/html; charset=UTF-8
> cache-control: max-age = 259200
> X-Varnish: 10 8
> Age: 2
> Via: 1.1 varnish-v4
> Server: varnish
> X-Powered-By: My Varnish
> X-Cache: HIT
> Accept-Ranges: bytes
> Connection: keep-alive
>
> So it is in cache now.
> root at testserver:~ # bombardier -c400 -n10000
> http://www.testdomain.nl:82/info.php
> <http://www.testdomain.nl:82/info.php>
> Bombarding http://www.testdomain.nl:82/info.php
> <http://www.testdomain.nl:82/info.php> with 10000 requests using
> 400 connections
> 10000 / 10000
> [===========================================================================================================================================================================================================]
> 100.00% 8s
> Done!
> Statistics Avg Stdev Max
> Reqs/sec 1179.00 230.77 1981
> Latency 219.94ms 340.29ms 2.00s
> HTTP codes:
> 1xx - 0, 2xx - 9938, 3xx - 0, 4xx - 0, 5xx - 0
> others - 62
> Errors:
> dialing to the given TCP address timed out - 62
> Throughput: 83.16MB/s
>
> I expected this to be much more in favour of varnish, but it even
> generated some errors! Time taken is lower but I expected it to be
> much faster. Also the 62 errors is not good i guess.
>
> I do see the following with varnish log
> * << Request >> 11141123
> - Begin req 1310723 rxreq
> - Timestamp Start: 1496396250.098654 0.000000 0.000000
> - Timestamp Req: 1496396250.098654 0.000000 0.000000
> - ReqStart 192.168.2.39 14818
> - ReqMethod GET
> - ReqURL /info.php
> - ReqProtocol HTTP/1.1
> - ReqHeader User-Agent: fasthttp
> - ReqHeader Host: www.testdomain.nl:82
> <http://www.testdomain.nl:82>
> - ReqHeader X-Forwarded-For: 192.168.2.39
> - VCL_call RECV
> - ReqUnset X-Forwarded-For: 192.168.2.39
> - ReqHeader X-Forwarded-For: 192.168.2.39, 192.168.2.39
> - VCL_return hash
> - VCL_call HASH
> - VCL_return lookup
> - Hit 8
> - VCL_call HIT
> - VCL_return deliver
> - RespProtocol HTTP/1.1
> - RespStatus 200
> - RespReason OK
> - RespHeader Date: Fri, 02 Jun 2017 09:36:16 GMT
> - RespHeader Server: Apache/2.4.25 (FreeBSD) OpenSSL/1.0.2l
> - RespHeader X-Powered-By: PHP/7.0.19
> - RespHeader Content-Type: text/html; charset=UTF-8
> - RespHeader cache-control: max-age = 259200
> - RespHeader X-Varnish: 11141123 8
> - RespHeader Age: 73
> - RespHeader Via: 1.1 varnish-v4
> - VCL_call DELIVER
> - RespUnset Server: Apache/2.4.25 (FreeBSD) OpenSSL/1.0.2l
> - RespHeader Server: varnish
> - RespUnset X-Powered-By: PHP/7.0.19
> - RespHeader X-Powered-By: My Varnish
> - RespHeader X-Cache: HIT
> - VCL_return deliver
> - Timestamp Process: 1496396250.098712 0.000058 0.000058
> - RespHeader Accept-Ranges: bytes
> - RespHeader Content-Length: 95200
> - Debug "RES_MODE 2"
> - RespHeader Connection: keep-alive
> *- Debug "Hit idle send timeout, wrote = 89972/95508;
> retrying"**
> **- Debug "Write error, retval = -1, len = 5536, errno
> = Resource temporarily unavailable"*
> - Timestamp Resp: 1496396371.131526 121.032872 121.032814
> - ReqAcct 82 0 82 308 95200 95508
> - End
>
> Sometimes I see this Debug line also - *Debug "Write
> error, retval = -1, len = 95563, errno = Broken pipe"*
>
>
> I also installed varnish 5.1.2 but the results are the same.
> Is there something I miss?
>
> My vcl file is pretty basic.
>
> https://pastebin.com/rbb42x7h
>
> Thanks all for your time.
>
> regards
> Johan
>
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org <mailto:varnish-misc at varnish-cache.org>
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
> <https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20170623/bba4e418/attachment-0001.html>
More information about the varnish-misc
mailing list