TQ
dev.com

Blog about software development

Subscribe

RSS + Sitemap + Archive in MindaBlog

17 May 2016 - by 'Maurits van der Schee'

I have been blogging for two and a half months now on TQdev.com and traffic slowly starts to build up. Unlike most blogs on the Internet this blog is not powered by Wordpress. For this blog I am writing my own blogging software. I am basing the features on my WordPress experience. The software aims to be a Wordpress clone that is faster, more secure and batteries (such as SEO and analytics) included. It renders super-fast as it does not do any cross-site requests or execute any JavaScript at all. It is not complete yet, but very much a "Work In Progress" that is being built while also writing posts. I chose this path because I feel that it is quite educational (and satisfying) to be confronted with every detail of blogging and it's software.

New features

I have added a few features since I started:

These features are all focused on increasing visitors and views, either through SEO (Sitemap), through revisiting (RSS) or via the user interface (Archive).

Blog at 10ms and 1000rps!

This blog is build for speed, security and usability. Currently it is protected by an application firewall limiting to 10 concurrent connections from the same IP address to avoid Denial of Service attacks. Even with this protection enabled the site performs under 10ms and does about 1000rps as you can see below:

maurits@nuc:~$ ab -c 8 -n 100000 http://localhost/2016-xubuntu-16-04-thunar
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
^C

Server Software:        Apache/2.4.18
Server Hostname:        localhost
Server Port:            80

Document Path:          /2016-xubuntu-16-04-thunar-crashes-on-rename
Document Length:        8415 bytes

Concurrency Level:      8
Time taken for tests:   6.329 seconds
Complete requests:      6246
Failed requests:        0
Total transferred:      54733698 bytes
HTML transferred:       52560090 bytes
Requests per second:    986.92 [#/sec] (mean)
Time per request:       8.106 [ms] (mean)
Time per request:       1.013 [ms] (mean, across all concurrent requests)
Transfer rate:          8445.71 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:     2    8   3.0      8      40
Waiting:        2    8   2.9      7      39
Total:          3    8   3.0      8      40

Percentage of the requests served within a certain time (ms)
  50%      8
  66%      9
  75%     10
  80%     10
  90%     12
  95%     13
  98%     15
  99%     17
 100%     40 (longest request)
maurits@nuc:~$ 

NB: The above is achieved without turning off the (server-side database-driven) analytics!

I want to help out!

Do you want to help build this free, secure, fast, user-friendly and SEO optimized blog software? Join me on Github.


PS: Liked this article? Please share it on Facebook, Twitter or LinkedIn.