WP-Cache 2 РГ-2 Cache and its younger cousin и его младшего двоюродного брата WP Super Cache РГ Super Cache have become de-facto suggestion for reducing site load for WordPress blogs. стали де-факто предложение для снижения нагрузки на сайт WordPress блогов. I used WP-Cache 2 on all my blogs. Я использовал WP-Cache 2 на все мои блоги. WP Super Cache despite its potential doesn’t improve upon the performance of WP-Cache 2 and brings in some problems. РГ Super Cache, несмотря на ее потенциал не улучшится при исполнении WP-Cache 2 и приносит определенные проблемы.

Note: In the past we did extensive tests on WP Super Cache versus WP-Cache 2 and we couldn’t find any significant performance difference in either. Примечание: В прошлом мы делали обширные испытания на WP Super Cache по сравнению с РГ-2 Cache, и мы не смогли найти каких-либо существенных различий в производительности либо. In fact WP-Cache 2 performed slightly better in our tests. На самом деле WP-Cache 2 выполняться несколько лучше в наших испытаниях. However this article isn’t about that comparison. Однако эта статья не о том, что сравнение. In the past we have seen that even with wp-cache 2 / wp super cache, we suffered significant performance problems during peak hours. В прошлом мы были свидетелями того, что даже при wp-кэш 2 / wp кэш-супер, мы понесли существенные проблемы производительности в часы пик. Neither of the plugins scale very well with high volume of simultaneous accesses despite any claims you may hear to the contrary. Ни один из плагинов масштабе очень хорошо с большим объемом одновременных обращений, несмотря на любые претензии вы можете услышать в обратном. Try, for example, a simple ab (Apache Bench) test with 500 concurrent threads and you will find that with wp-cache 2 your whole site literally hangs for extended periods. Попробуйте, например, простой ab (Apache скамьи) испытание при 500 одновременных потоков, и вы увидите, что с wp-кэш 2 вашем весь сайт буквально зависает в течение длительных периодов времени. You may even have to reboot your machine. Вы, возможно, даже придется перезагрузить компьютер. We had to do it several times during our test. Мы должны были сделать это несколько раз во время нашего теста. There are two ways around this problem. Есть два пути вокруг этой проблемы.

If you have deep pockets like Если у вас есть глубокие карманы, как WordPress.com , you can throw more machines to the mix. Вы можете помочь более машин к миксу. We decided to innovate instead. Мы решили вместо этого новшества. Additionally we needed a better caching system for Кроме того нам нужен, лучше кэширование системы Translator Plugin Pro Translator Plugin Pro (WordPress plugin to translate your blog to 13+1 languages) & especially (WordPress плагин перевести свой блог на 13 +1 языков) и особенно Translator Plugin Gold Переводчик плагин золота (WordPress plugin to translate your blog to 32 languages). (WordPress плагин для перевода блога на 32 языков). Actually there is a bit of history here. На самом деле есть немного истории здесь. Initially we used WordPress’ in-built object cache for translator plugins. Вначале мы использовали WordPress' в встроенной кэш-памяти для объекта переводчик плагины. Unfortunately object cache didn’t work too well for bloggers on shared hosting platforms. К сожалению, объект кэша не работает слишком хорошо для блоггеров на общих хостинг платформ. WordPress too realized the problems and removed file based object caching in 2.5. WordPress тоже осознали проблемы и удаляется файл на основе кэширования объектов в 2,5. We acted before that and replaced it with database based object cache. Мы действовали до этого и заменить ее с базой данных на основе объект кэша. It was a dramatic improvement but then database too has its limitations. Было резкое улучшение, но затем база данных тоже имеет свои недостатки. We went through several rounds of optimization and finally we had a pretty good performance to be proud of. Мы прошли через несколько раундов переговоров, оптимизации и, наконец, мы имели очень хорошие показатели, которыми гордятся. We didn’t stop there. Мы не останавливаться.

In our effort to find a better and simpler caching solution, both for WordPress blog and for Translator plugins we invented Light Cache. В наши усилия, чтобы найти более простые и кэширования решение, как для WordPress блоге и плагины для Translator мы изобрели легкими Cache. Today we deployed it on this blog. Сегодня мы развернуты на данном блоге. Tomorrow we will deploy it on all other blogs. Завтра мы будем размещать его на всех других блогах. What did we find out? Что мы узнали?

Performance, performance & performance Эффективности, результативности и эффективности
Couple of hours back I tested using ab (Apache Bench) a WordPress 2.5 blog (on Pentioum 4 1.8 Ghz). Пару часов назад я тестировал с помощью ab (Apache скамьи) WordPress 2,5 блога (от Pentioum 4 1,8 ГГц). I tried first with 100 threads fetching a page and doing 10, 000 cumulative requests from another machine. Я попробовал сначала с 100 нитей загрузки страницы и делаем 10, 000 кумулятивного запросы с другой машины. I got a performance of 13.5 milliseconds per request. Меня исполнении 13,5 миллисекунд на просьбу. I did the similar test on the same blog using wp-cache 2 and got similar performance around 14.4 milliseconds. Я сделал аналогичное испытание на том же блоге, используя wp-кэш 2 и получили аналогичные показатели примерно 14,4 миллисекунды. Nothing to write home about. Ничто не писать домой о.

Next I tried testing Light Cache with 500 threads performing 10, 000 requests. Затем я попытался тестирования с легкими Cache 500 нитей исполняющей 10, 000 запросов. It came back with 13.2 milliseconds average performance. Он вернулся с 13,2 миллисекунд средняя производительность. I tried the same test with wp-cache 2 and it hanged the machine. Я пробовал же испытания с wp-кэш 2, и он повесился машине. I rebooted and tried with 250 threads and again WordPress and in turn the whole machine froze. Я перезагрузится и попытались с 250 нитей и снова WordPress и, в свою очередь, заморозил всю машину. As I mentioned before I faced such problems with wp-cache 2 in the past. Как я уже говорил, прежде чем я сталкиваются с такими проблемами wp-кэш 2 в прошлом. In fact I face it almost every other day with heavy site load. На самом деле я решать ее почти каждый день с тяжелыми сайт нагрузки. I cannot explain it away with other factors like lower number of Apache threads etc. My site is tuned in every possible way, we also use eAccelerator. Я не могу объяснить это покончить с другими факторами, как меньшее число нитей Apache т.д. Мой сайт настроены всеми возможными способами, мы также используем eAccelerator.

I found out that Light Cache maintains its performance with 500 threads as will 100 concurrent threads. Я узнал, что световой Кэш сохраняет свою производительность с 500 темы как будет 100 одновременных потоков. While this may be good enough for many, I wasn’t fully satisfied. Хотя это может быть достаточно много, я не был полностью удовлетворен. The real test of a caching plugin is with real site load. Реальным испытанием кэширования плагин с реальными сайт нагрузки. So I did the unthinkable. Так что я сделал немыслимым. I tested it on our live site, on this site. Я проверял на нашем сайте живут, на этом сайте. It was early morning in USA and the site load was heavy. Было рано утром в США и сайта нагрузка была тяжелой. I was having 30-34% idle cpu time on average. Я был с 30-34% процессорного времени простоя в среднем. I decided to run 100 concurrent threads from another server using ab to fetch big page on this site (92K). Я решил запустить 100 одновременных потоков от другого сервера с помощью ab извлечь большую страницу на этом сайте (92K). I fully expected my site to hang. Я полностью ожидается моем сайте повесить. The Apache Bench finished quickly and gave me performance of 11.8 milliseconds. Apache скамьи готовых быстро и дал мне исполнении 11,8 миллисекунд. It was very surprising. Было очень удивительно. Now I upped the ante and increased the thread count to 200. Теперь я upped анте и увеличение кол-нить до 200. It came back with similar performance around 12 seconds. Он вернулся с аналогичными производительность примерно на 12 секунд. The CPU idle time fluctuated a bit but not by much and the sar generated average remained almost same. CPU простоя колебались немного, но не много, и ОАР порожденных среднем оставались почти одинаковыми. This was the defining moment. Это был решающий момент. I knew I had a winner. Я знал, я был победителем. Light Cache performed admirably in a live site with heavy load without breaking a sweat. Легкая Cache осуществляется замечательно жить в сайт с тяжелой нагрузкой, не нарушая пота.

Light Cache comes with the basic functionality of wp-cache 2, setting cache time, showing stats, ability to clear cache etc. Light Cache is simple in design and does one job well, to serve lightning fast WordPress pages. Легкая Cache поставляется с базовой функциональностью РГ-кэш 2, установка кэш время показ статистики, умение четко кэш т.д. Легкая Cache прост в конструкции и не одного рабочего места так, чтобы служить молнии быстро WordPress страниц.

We may release it in near future as a separate product after some polishing and documentation. Мы можем выпустить его в ближайшем будущем в качестве отдельного продукта, после некоторой полировки и документации. However it will also be bundled with Translator Plugin Pro & Translator Plugin Gold plugins. Однако он также будет снабжен Translator Plugin Pro и плагин Translator Gold плагины.

Update: I just tested our live site with 300 concurrent threads with a 87K document. Обновление: Я просто тестирование нашего сайта проживают в 300 одновременных потоков с 87K документа. The average time per request is 9.5 milliseconds! Среднее время на запрос 9,5 миллисекунды!

 Document Length:        87247 bytes  Concurrency Level:      300 Time taken for tests:   94.616595 seconds Complete requests:      10000 Failed requests:        0 Write errors:           0 Total transferred:      876999240 bytes HTML transferred:       874640545 bytes Requests per second:    105.69 [#/sec] (mean) Time per request:       2838.498 [ms] (mean) Time per request:       9.462 [ms] (mean, across all concurrent requests) Transfer rate:          9051.73 [Kbytes/sec] received  Connection Times (ms)               min  mean[+/-sd] median   max Connect:      134  358 1050.0    209   21263 Processing:   832 2452 2146.6   1987   26659 Waiting:      149 1181 2231.5    585   25878 Total:        966 2811 2383.0   2201   26794  Percentage of the requests served within a certain time (ms)   50%   2201   66%   2376   75%   2637   80%   2802   90%   3908   95%   5658   98%  10682   99%  14725  100%  26794 (longest request) Документ Длина: 87247 байт Concurrency Уровень: 300 Время, необходимое для испытаний: 94,616595 секунд Полный запросов: 10000 Сбой заявок: 0 Написать ошибки: 0 Всего передано: 876999240 байт передано HTML: 874640545 байт в секунду просит: 105,69 [# / сек] (среднее значение ) Время на запрос: 2838,498 [мс] (средняя) за время запроса: 9,462 [мс] (среднее значение во всех одновременных запросов) Скорость передачи: 9051,73 [кбайт / сек], полученных соединений таймс "(мс) мин означает [+ /-sd ] Срединной макс Общение: 134 358 1050 .0 209 21263 Переработка: 832 2452 2146,6 1987 26659 Ожидание: 149 1181 2231,5 585 25878 Итого: 966 2811 2383,0 2201 26794 Доля запросов служил в течение определенного времени (мс) 50% 2201 66% 2376 75 % 2637 80% 2802 90% 3908 95% 5658 98% 10682 99% 14725 100% 26794 (длинная запросу)