Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Could the WordPress plugin be causing large recursive hits?

StumpyJoeStumpyJoe
edited May 2013 in Vanilla 2.0 - 2.8

I don't mean the Embed plugin that comes with the forum, I mean WordPress's plugin to integrate Vanilla into WordPress comments. As far as I can tell, it does two things: 1) When a new WP article is posted, it posts that article as a discussion to the forum. 2) It creates an iFrame at the bottom of the WP page to view that discussion. Also it comes with a WP widget to display the most recent discussions on the WP side of the site.

My site is not large, just a small community of 20+ "regulars" with not a lot of activity. Yesterday it was suspended for high CPU usage...so high it was affecting other sites on the server. When I asked for more info, here is the response I got (I edited the site and IP address):

These hits are recursive hits where your Wordpress site is making GET requests to itself. Here is a snippet from your access logs:

./website.com:111.111.111.111 - - [14/May/2013:00:49:39 -0400] "GET /chatter/?p=categories/3.json HTTP/1.0" 200 53128 "-" "WordPress/3.5.1; http://website.com"

>

./website.com:111.111.111.111 - - [14/May/2013:00:49:40 -0400] "GET /chatter/?p=categories/3.json HTTP/1.0" 200 53128 "-" "WordPress/3.5.1; http://website.com"

>

./website.com:111.111.111.111 - - [14/May/2013:00:49:41 -0400] "GET /chatter/?p=categories/3.json HTTP/1.0" 200 53128 "-" "WordPress/3.5.1; http://website.com"

>

./website.com:111.111.111.111 - - [14/May/2013:00:49:41 -0400] "GET /chatter/?p=categories/3.json HTTP/1.0" 200 53128 "-" "WordPress/3.5.1; http://website.com"

I took a look in the 'chatter,' directory [the directory that is receiving these hits], and it appears that the directory is used by the "Vanilla," application that you have installed. Is this possibly forum software? Either way, the site is requesting what appears to be JSON data from itself for whatever reason. I'm not sure how important this component of your site is, but I would reckon that it is probably pretty significant considering 47,813 out of 52,645 hits yesterday are POSTing or GETing from that directory.

Looking at my Vanilla stats for yesterday, I had 4,868 page views. I realize page views are different than hits, but I'm still baffled how the site is getting hit so much, especially so much in my Vanilla directory. The only thing I can think of is the Wordpress plugin constantly accessing the Vanilla forum for that iFrame, and that widget...but I still feel like 47,813 hits in one day is a LOT.

Has anyone had any experience like this and/or have any advice on solutions I can track down to lower my CPU usage? Thanks.

Edit: To confirm, up there where it's going to categories/3 that is the category I have open to the public so that my WP site can access it for that plugin.

Comments

  • x00x00 MVP
    edited May 2013

    firstly chatter must be something someone has named the vanilla directory. There is no such directory in the core.

    that is requesting a category not comments. It also is sniffing with the category number no slug. What other widgets are you using?

    grep is your friend.

  • StumpyJoeStumpyJoe
    edited May 2013

    I forgot to mention that, sorry, but yes, I named the directory "chatter" instead of "forum" just because that's what we call it on the site. Here's everything from both sides currently being used:

    Vanilla plugins enabled:
    BotStop, Button Bar, CleanLog, Emotify :), Last Edited, Quotes, Split / Merge (FE), Stop Auto Draft, Vanilla Statistics

    WordPress Plugins enabled
    Author Image, Blubrry PowerPress, Custom Quicktags, Fluid Video Embeds, Jetpack by WordPress.com, Vanilla Forums, Yet Another Random Quote

    WordPress Widgets in the sidebar
    Recent Posts, Vanilla Discussions, (3 RSS feeds for other sites), Archives, Text

    Thanks.

  • aeryaery ✭✭✭

    @StumpyJoe I have been using wordpress plugin for over an year without any problems.

    I didnt get your Cat/3 thing but what I can tell you is minify your vanilla css and js coz the iframe loads all the vanilla resources even though it does not need it. Better make your site fast.

    There was an error rendering this rich post.

  • Is this 2.1b1 or 2.0.18.8?

    Search first

    Check out the Documentation! We are always looking for new content and pull requests.

    Click on insightful, awesome, and funny reactions to thank community volunteers for their valuable posts.

  • it is probably one of those widgets. > @aery said:

    StumpyJoe I have been using wordpress plugin for over an year without any problems.

    I didnt get your Cat/3 thing but what I can tell you is minify your vanilla css and js coz the iframe loads all the vanilla resources even though it does not need it. Better make your site fast.

    Not really true. it doesn't load all the resources. It is up to implementation to ensure which resources get loaded for which pages, it is not really different from when you are not embedding, the only difference is two extra scripts.

    minifiying js bad idea, sure way for something to break.

    grep is your friend.

  • StumpyJoeStumpyJoe
    edited May 2013

    @hgtonight this is for 2.0.18.4 (with the updated library database sql php file from 2.0.18.8).

    @x00 when you say it's probably one of those widgets, is it safe to say since the vanilla discussion widget is the only that pulls from my forum directory then it must be that one? I'd like to pinpoint what is causing this to see if it can fixed instead of just disabling that widget and seeing if that worked.

  • well the status is 200 so if it is redirection loop it is not a HTTP redirect.

    Have you tried point to chatter/?p=categories/3.json you should get JSON. You can use http://jsonview.com/ plug-in for firefox to view it.

    Problem can be related to polling (how often it is checking the server). I can't remember the pluign whether it give you option. if not you can modify the script so that it only request one when you load the page.

    grep is your friend.

  • Using that json view plug-in it's easy to see that the 3.json link is definitely the category I have open to the public and integrated into my WP site for comments and the "recent discussions in the forum" widget.

    More specifically, the json link is info only for Page 1 of my category 3. In the widget I only ask it to give the 10 most recent discussions, but maybe it brings back the whole page and picks the top 10?

    I installed a WP Widget Cache plugin to see if that helps any, but I'll also go digging through the script to see if I can figure out where this is happening. Is there a specific thing I should be looking for? Thanks again.

  • I heard back from my server folks, and the following is from the Apache access log...

    -Duplicate requests + response codes
    4520  200  POST /chatter/index.php?p=/dashboard/notifications/inform
    1865  200  POST /chatter/index.php?p=/settings/analyticstick.json
    
    -Requests for non-static content
    6681  200  POST /chatter/index.php
    3209  200  GET /chatter/index.php
    

    I didn't post everything, but I think an accurate number of visitors would be less than 400. That's how many times the .css files are hit. Those are the highest numbers above. Obviously index.php is the main page, but what are those top 2 duplicate requests (inform and analyticstick.json) and why are those numbers so high?

    For example, according to the line graph on my dashboard on May 13 there were 4,868 page views, 0 users, 8 discussions, and 125 comments. Like I said earlier, it's a pretty small/slow forum, so I don't know why it's generating SO many page views for such little activity.

    I feel like something somewhere is multiplying things, but now I don't think it has anything to do with my WordPress plugin/widget because the server guy said the high cpu usage started March 15--the day I installed Vanilla, and I hadn't installed the WP stuff til later. I would love any help/advice on where I can start to look for what might be causing so many recursive hits on my site.

  • Still looking, but I'm going to see if this does the trick. Good to read this is being optimized for 2.1.

  • definitely worth reducing polling on budget hosts.

    grep is your friend.

Sign In or Register to comment.