1. | |
Date: 24 Sep 2017 Presented by: Miloš Marčeta (marcetam@marcetam.net)
case study
2. telegraf.rs
One of the biggest news portals in Serbia and region
Started on WordPress
Project started ~5 years ago
900,000+ posts in wp_posts table
2M+ rows in wp_postmeta table
200+ Gb of images
1
3. telegraf.rs
One of the biggest news portals in Serbia and region
It was running on custom made WordPress theme
Using custom made WordPress plugins
Serving html pages for browsers and XML content for mobile applications
Running on multiple custom made server setup to improve performance and security
~ 95% of the traffic goes to www.telegraf.rs
~ 5% goes to other subdomains (topspeed.telegraf.rs, ljubimci.telegraf.rs etc.)
2
4. Data Pressure
3
Every time in history when technology evolved people saw new opportunity.
New opportunity generated new data.
Data pressure is measured by the efficiency of the systems that are available to process that
data.
When the amount of data exceed the ability of the system to process the data in reasonable
time or at reasonable cost that becomes opportunity for new technology and that cycle repeats
all the time.
What is Data Pressure ?
9. noSQL but which lang ?
8
Node.js and PHP differ in their approach to concurrency, with Node.js using a non-blocking
event loop (running in a single process) and the standard PHP Zend runtime using a blocking
process.
multiple PHP processes are often launched from the web server to be able to keep serving web
requests. In Apache, you can set the maximum number of PHP processes allowed to run, and
this works fine for many types of web applications.
When the work being done in these processes tends to be long(er)-running, the server can
quickly run out of available PHP processes. This will cause the HTTP request response times to
increase, perhaps even to the point of requests timing out.
12. Migration Requirements
11
Make similar dashboard so that people don't need training
Support WordPress shortcodes in NodeJS
Migrate existing MySQL database tables to noSQL collections (data aggregation)
Execute migration supporting dashboard and front site of the page
Replace XML with JSON for mobile applications
20. Handling Images
Handling large number of images
Responsive themes demand multiple thumbnail sizes for every image position ( 3 x 5 )
300 images / posts per day x 15 is 4500 files per day.
Large number of files in a single directory is slowing down filesystem a lot
Changing theme becomes a very difficult task because of thumbnail regeneration
High-peformance and secure on demand thumbnail generation is the only choice
19
21. Telegraf CMS summary
Still in beta, getting stable soon.
Telegraf CMS is built for ourselves. In-House.
Once loaded , dashboard is fast like a hell
Still have to develop/finetune some functionalities
We don’t have the name … yet
It’s not for sale – yet
If you have less than 10.000 visitors in real-time you don’t need it.
20