Categories: Windows

The Web Server Nightmare Before H2PushPriority.

Update information      Edit(Jun.18)

   Actually, Cygwin has libev and nghttp2 packages now. So, you can use h2load and nghttp features even if you don’t build nghttp2 by yourself. Nevertheless, if youl build nghttp2 on Cygwin, you need to build the Jansson and the spdylay before building it because Cygwin doesn’t have their packages. But, according to the current trend, I think you don’t need the spdylay package. (2016.6.18)
—————————————————————————————————————————————————
   Yes, the title is just a word play from one of Tim Burton works (´ϖ`).

   On February 29, my server was down from about 0:00 to about 20:30 because of hardware malfunction. Last Sunday, February 28, I was trying hard for H2PushPriority which is one of new directives of Module mod_http2. To enable this feature is very easy, but to tune it up is difficult for me.

   I thought my server was down because the configuration for this directive gave heavy lord to the server, in fact, it was from the heavy dust of the CPU fan ha-ha. Anyway that was a nightmare. I posted an announcement about the server down to o6asan’s BBS and o6asan の掲示板 and went to bed.

   One day later, fortunately the server was back after cleaning CPU fan and heatsink and replacing CMOS battery. It was the Monday evening as I couldn’t take care of the server machine until 18:00 because I had to go out to do something. Thanks a lot, FHさん and juneさん。

   By the way, now about Server Push. I added the following lines to Apache’s ssl.conf.
   H2PushPriority text/css before
   H2PushPriority application/javascript interleaved
   Also I added the following lines to DocumentRoot .htaccess file. These css and js files Google PageSpeed Insights told me I should optimize or remove them.
   Header add Link "</wp-content/~~/lightbox.min.css>;rel=preload"
   Header add Link "</wp-content/~~/responsive.css>;rel=preload"
   Header add Link "</wp-content/~~/icofont.css>;rel=preload"
   Header add Link "</wp-content/~~/jetpack.css>;rel=preload"
   Header add Link "</wp-content/~~/jquery.flexslider-min.js>;rel=preload"
   Header add Link "</wp-content/~~/tinynav.min.js>;rel=preload"
   Header add Link "</wp-content/~~/modernizr.min.js>;rel=preload"
   Header add Link "</wp-content/~~/skip-link-focus-fix.js>;rel=preload"
   Header add Link "</wp-content/~~/wp-lightbox-2.min.js>;rel=preload"
   Header add Link "</wp-content/~~/frontend.js>;rel=preload"
   Header add Link "</wp-content/~~/jquery.colorbox.js>;rel=preload"
   Header add Link "</wp-includes/~~/jquery-migrate.min.js>;rel=preload"
   Header add Link "</wp-content/~~/jquery.selection.js>;rel=preload"
   Header add Link "</wp-content/~~/style.css>;rel=preload"
   Header add Link "</wp-includes/~~/wp-embed.min.js>;rel=preload"
   Header add Link "</wp-content/~~/style.js>;rel=preload"
   Header add Link "</wp-content/~~/jquery.atd.textarea.js>;rel=preload"
   Header add Link "</wp-includes/~~/jquery.js>;rel=preload"
   Header add Link "</wp-content/~~/genericons.css>;rel=preload"

   But this configuration was not good. I think this gives heavy load to the server at the first access of each visitor because it seems to make concatenated files from individual CSS files. I felt First Paint was very slow when I accessed my site.

   At the Server Push, are the pushing order and file types important??? I’ve not understood about them though I saw Processing Model, yet. You can know how Server Push works by nghttp -v or nghttp -ans commands. If you want to use it on Windows OS and don’t have the package, download from here (x86, x64). The x86 package contents the following files and cyggcc_s-1.dll, and the x64 does the following files and cyggcc_s-seh-1.dll:

cygcrypto-1.0.0.dll
cygev-4.dll
cygiconv-2.dll
cygjansson-4.dll
cyglzma-5.dll
cygnghttp2-14.dll
cygssl-1.0.0.dll
cygstdc++-6.dll
cygwin1.dll
cygxml2-2.dll
cygz.dll
nghttp.exe

   After all, I rolled back my sever configuration about H2PushPriority.

[Add.]   Today, Steffen released a new Apache 2.4.18 which was built with OpenSSL1.0.2g, so I updated my Apache because of OpenSSL Security Advisory [1st March 2016].

[Add.2]   Yesterday, May 3, they released PHP7.0.4 and I updated to it. ChangeLog. I updated phpMyAdmin to 4.5.5.1 at this opportunity. Its ChangeLog. In the ChangeLog, they mentioned ‘Vulnerability allowing man-in-the-middle attack on API call to GitHub.’ Bugger me! Nothing can be better for us than to update it early.

o6asan

Recent Posts

Very easy, sweet potato yōkan recipe.

The recipe for sweet potato yōkan that I often made this fall. Ingredients Sweet potato…

6 months ago

On my home network, I’ve built an FTP server that I left for long time.

After a long time, when I checked broken links and fixed them, I got an…

2 years ago

Moving “o6asan’s BBS”.-#2

I made a box, so I prepare the contents. Theme and Plugins. The theme is…

2 years ago

Moving “o6asan’s BBS”.

Hehe, it's been almost a year since my last post. I received a notification email…

2 years ago

I completed my WordPress to Sub-domain.

About a week ago, I finally started to renew my sites, which I had been…

4 years ago

Happy New Year!

   Happy New Year! It is the beginning of a new year.    This is a year…

5 years ago

This website uses cookies.