WordPress.org

Make WordPress Core

Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#7765 closed enhancement (invalid)

Parallel Processing

Reported by: dcole07 Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: General Keywords:
Focuses: Cc:

Description

We should look into if parallel processing would speed up WordPress. WordPress is very modular and could work nicely with multiple forks if it enhances the speed of loading the dashboard and other pages. Parallel processing might not speed up WordPress depending on how it uses resources... has anyone looked into this? Plugins, which are often slow down WordPress, might benefit from this.

Change History (3)

comment:1 jacobsantos6 years ago

  • Keywords Parallel popen processing removed
  • Milestone 2.9 deleted
  • Resolution set to invalid
  • Status changed from new to closed

PHP doesn't support parallel processing, popen is not something that is widely supported or something that should be used with web sites.

Generally, you gain nothing supporting parallel processing on execution that usually takes less than 500ms.

If you were talking about AJAX, then WordPress already uses that in some places.

comment:2 follow-up: Otto426 years ago

The wp-cron stuff is already being processed in parallel by making a hit to the wp-cron process via http and ignoring the result (because it just needs to start the thing, not care about what it does). Alternate methods are popen and pctrl_fork. Perhaps a generic parallel process spawning function to use one of the many methods available to spawn a separate process should be added to the code. As a fallback, it could simply run the code itself not in parallel if none of the methods worked.

comment:3 in reply to: ↑ 2 jacobsantos6 years ago

Replying to Otto42:

The wp-cron stuff is already being processed in parallel by making a hit to the wp-cron process via http and ignoring the result (because it just needs to start the thing, not care about what it does). Alternate methods are popen and pctrl_fork. Perhaps a generic parallel process spawning function to use one of the many methods available to spawn a separate process should be added to the code. As a fallback, it could simply run the code itself not in parallel if none of the methods worked.


pctrl_fork() can not be used in the web SCGIs. Paranoid web hosts will most likely disable popen() since it handles shell commands. The current way the cron is handled is probably the most supported and best way to do it. Well, besides setting up a crontab job.

I think the problem is whether you are talking about parallel as in pctrl_fork() or parallel as in how the current wp-cron is handled.

Note: See TracTickets for help on using tickets.