Good news! In next week I've release a new RevolveR CMS version with big changes in performance plan. For now released and under testing a file cache system thats improves system performance in several times.
Revolve Cache system based on MD5 hashing of MySQL tables contains site data. Every change runs rehashing mechanism and automatic dump of fresh datas to files for every table. If hashes equals engine nothin to do and just use cache files to render a site. Cache files to be updated automatically at every UPDATE, INSERT or DELETE queries. Simple.
Next change is an INSERT and UPDATE queries merge mechanism. Yes, it's real to use only inject query for update and insert queries. It's based on 'ON DUPLICATE KEY UPDATE' feature and does a simplify all that we want do with database.
v.1.2.5 under testing for now. Release in plans in 20th July.
I don't know how long it is have an affect on my sytes because I found it accidentally. Usually I work and surf in Safari and do not need any other browser because it is most advanced and stable application for Web.
One day I open my site used front end library RevolveR and found a chrome tab crashed. All other browsers can execute my code perfectly without any problems. Long time I spent to find real Chrome browser developers and write about this issue on Chrome developers forum. There I hear a lot of recommendations without any argumented opinion from not very competent support team. And then I realized about this guys and girls is not real developers of most popular browser ... Apparently the only take icon and make repainted icon for Chrome. The same shit applies to Opera, Yandex browser and a lot of southens.
In the end I was given something like a link on Chromium bugs tracker where I write about problem with my code.
We have to wait for July 19th to resolve this bug thats marked as RB-Stable. I Don't want to do anything for this time. Hope it can be fixed.
There are many services for testing and benchmarking site load average in the web but many of them is require a payments. Fortunately in Mac OS and Linux we have Apache service utility named Apache Benchmark thats can do test with one line command input.
For example I test random site with ab using one IP address via WIFI -> 4G network with concurrency 200 and 1000 requests per time:
ab -c 200 -n 1000 https://yandex.ru/images/
CyberXs-MBP:~ cyberx$ ab -c 200 -n 1000 http://cyberx.pro/revolver_cms_v.1.0.9/
This is ApacheBench, Version 2.3
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking cyberx.pro (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: openresty
Server Hostname: cyberx.pro
Server Port: 80
Document Path: /revolver_cms_v.1.0.9/
Document Length: 16984 bytes
Concurrency Level: 200
Time taken for tests: 16.783 seconds
Complete requests: 1000
Failed requests: 894
(Connect: 0, Receive: 0, Length: 894, Exceptions: 0)
Non-2xx responses: 894
Total transferred: 10029004 bytes
HTML transferred: 9855404 bytes
Requests per second: 59.58 [#/sec] (mean)
Time per request: 3356.659 [ms] (mean)
Time per request: 16.783 [ms] (mean, across all concurrent requests)
Transfer rate: 583.55 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 69 437 287.1 431 1247
Processing: 113 1663 2268.0 729 9685
Waiting: 96 1565 2237.5 686 9598
Total: 195 2100 2286.3 1167 10625
Percentage of the requests served within a certain time (ms)
100% 10625 (longest request)
One small problem with it is a server side blocking requests from one IP when limit are achieved to prevent flood. It is not replaces cloud testing because many servers can generate more IP addresses and can do real overloading picture but Apache Benchmark fast and simple.
With 106 successful request of 1000 defined over ~3s for one of 200 threads we can look at overload graph placed in server side statistics. So, RevolveR CMS was eat only 2 of 10 available by hosting plan points.
Good news. I finished testing and debugging AMP site version based on core functionality in RevolveR CMS and have done validation process of AMP pages!
Now we have fully compatible AMP tags convertor that able to create responsive images in specific format from plain node output.
Next interesting think that I done is a HTTP 2.0 push server preloader for media contents like figure tags, pictures and some other contents. HTML Accelerator under development now and allow some preload information for browser headers to start preload any images from contents placed in database.
Fixed strange bug with hidden output blocked header set instruction founded on a sidebar template. I don't know what a shit is this because this is floating unstable bug. All works like a charm if you don't use left sidebar.
First I want to talk about is a HTTP 2.0 RevolveR CMS comparability when used good servers and HTTPS protocol. Yes it works better and should be also better when I've add image preloading features under HTTP 2 and RevolveR Core.
So, also you can track any external resources by including one small image thats collect all needed for statistics engine data. For example you can put this tracker on a forum and look what visitors are read your posts.
A second new feature that was added to Revolver CMS is a calendar for statistics and now you can see stats for every day of current month.
All other browsers like MS Edge, FireFox and Safari are not affected this issue.
In next releases thats become quickly I've add an subscribers feature for anonymous comments and next should be released first forum module version.
Next thats I trying to bring to mind is AMP. Now all mobile pages are indexed and placed in search results appear than full versions but no any marker about it's AMP compatible. In future releases it should be finalized with styles like an bootstrap and all media types support(in development AMP tags converter for Revolver CMS).