Check the number of post revisions for that one 50K word article. While in Edit Page, go to Screen Options and be sure “Revisions” is ticked.
If you have more than one revision, WP is querying the database for that one large post and all revisions, and that will account for some – possibly all – of the CPU spike. The CPU spike is MySQL working on the query to display the article.
Delete some or all of the page revisions. See https://wordpress.org/plugins/revision-control/
And because you have a VPS, try https://github.com/major/MySQLTuner-perl to adjust RAM and cache and other parameters for MySQL. Those can make a huge difference in MySQL performance.
Related Posts:
- WordPress upload file size error even after raising php limits
- Unreadable pagination
- 200 Rewrite blog post links
- How to set a min number of words for a blog post
- Loop through categories and display posts title under each dropdown
- Get post id in a function when edit/add a post
- WordPress Ignoring .user.ini
- how do I get a specific post from a post with a subcategory in WP
- adding custom user input fields in WordPress admin dashboard gives error The link you followed has expired. Please try again
- Automatically create child pages and grandchild pages when saving a (parent) page
- wp_trim_words() does not work with my code Am I doing any mistake in my code?
- WordPress Script stops suddenly
- Second transition_post_status hook fired instead of the first
- How to store post ID’s in cookie or session to display the same posts later
- Which hook/action will help me solve my problem?
- How can I add extra word in permalink when someone click download button?
- Post + form + action + results on the same page
- Open post-content in archive page in a Modal box with bootstrap
- remove post that has no content
- Loading index.php contents which located outside blog folder for post single page
- get post content of particular post by url
- Post repeating with infinite scroll
- Custom posts in different columns style
- Get children post mime type using parent post_ID wp_post
- How to show only subcategories in parent category not parent category?
- WP & Server Speed [Teacher Question]
- 404 error when I acess the second page of post-type
- Theme requires allow_url_include = on in php.ini
- is there a benefit in using a constant over get_stylesheet_directory_uri?
- Which PHP page is the Default Posts Page
- retrieve post data and insert it in seperate static html page without WordPress
- WP Insert Post and then go to post
- Why am I getting a different filename? And how does WordPress load singular.php for both Page & Post? (Fresh WordPress installation)
- Returning data instead of echoing/printing
- Display related posts without a plugin
- Counting Search results, and displaying the offset per page
- Count posts on multisite with blog id
- Function works everywhere, how to keep it to execute when creating a new post
- Making (and edit existing) posts with ID included
- Copy taxonomy terms from one post to another programmatically
- Parsing Menu Items and Blog Posts
- Pagination on Custom Post
- $wpdb returns duplicate posts
- How to avoid duplicates when creating recent network posts
- How to show an entire post content and not also the excerpt?
- Get latest post from all categories except one
- What file have I to create in my custom WordPress theme to show all the post belonging to a specific category?
- Update post title from external file?
- Parse error: syntax error, unexpected end of file
- Automatically add images to a menu
- Why is a wp function used in current PHP namespace’s callback not resolved to global scope?
- Load Posts on Click via Ajax into a DIV
- How to catch wordpress post ID when it’s published
- set post limit at load more ajax wordpress
- WordPress query undefined offset in loop
- Find Site ID From WP_Post
- WP_Query: getting posts where custom field exists
- Array to string conversion on array_map
- Store metakey value as an array
- Increment paged on WP_Query
- Only show first image in foreach loop
- How to use mysql LIKE with wpdb?
- Reading settings in the home page precisely home.php
- Do I need to edit my theme in order to change the title of my blog page?
- Add new post in existing categories using wp_insert_post
- PHP E_WARNING being shown despite php.ini [closed]
- How do I add more options to the post-new.php page?
- get post id from wp_insert_post for get_template_part
- create front-end users post list by specific category
- Incrementing PHP variable onclick to display posts by month
- Modify main query before it run without pre_get_post
- Displaying list of posts in category page
- .html end of URl affected to SEO?
- How can I get “Previous” and “Next” to show in the navigation besides the links?
- Get the id of all images in a post
- Displaying content on posts page based on category
- Do not duplicate posts with multiple categories in multiple loops
- how to make an array of post id’s in is_single
- Loading Posts & Category with Ajax
- Four posts per row [closed]
- array_rand not working correctly?
- Update if post with specific title exists
- Need help removing […] after excerpt
- show recent posts php code error?
- Error display post thumbnails for previous and next post
- WP_Query() load selected post
- Post to WordPress from another Server via PHP
- Unable to render custom field after attempt to generate a list of recent post in page template
- how to edit a specific post slug using a php code?
- form $_post action value gets truncated after it passes through two forms
- How to pick “full/thumbnail” images in the loop?
- Why when I create a new post I found 2 record related to this post into the posts database table?
- Saving a post ID to use in a form elsewhere on website
- WordPress Search
- Update value of a associative array with update_post_meta
- Wrap posts p tags in div
- Page load timer?
- Prevent post from being published and show error
- Wp Query : Order by distance lat,lon
- Woocommerce Custom Meta Boxes- How to only display if they actually have content