I suggest you ...

memcache

Include memcache and settings for ram etc as standard.

193 votes
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)

    We’ll send you updates on this idea

    H.KH.K shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    19 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • ChrisChris commented  ·   ·  Flag as inappropriate

        With so many websites now being powered by web applications like WordPress, it just seems like Memcached should already be a extension option in the Plesk Php extensions. I really hope this gets treated more seriously and added as soon as possible.

      • ReneRene commented  ·   ·  Flag as inappropriate

        I can´t use memcache as a Docker container, because Docker is not working on the VM

      • Benjamin HodgettsBenjamin Hodgetts commented  ·   ·  Flag as inappropriate

        That's not really the same thing and, for customers that aren't as savvy, isn't really suitable. Having memcache as a PHP module should be simple and there's nothing (technically) stopping it being added to existing Plesk 12 setups.

      • Benjamin HodgettsBenjamin Hodgetts commented  ·   ·  Flag as inappropriate

        Unless Couchbase is a "drop-in" replacement for PHPs Memcache(d) modules then that wouldn't be viable at all.

        Our customers need PHP's Memcache module specifically, not something entirely different because the software they want to use (e.g. off-the-shelf CMS systems or plugins for those CMS) need it or offer additional functionality when PHP's Memcache implementation is available.

      • Jay OwenJay Owen commented  ·   ·  Flag as inappropriate

        i would suggest to use couchbase to supply memcached services. it would be easier to integrate and is protocol compatible with memcached.
        It would also allow the plesk node to participate in a couchbase cluster (possibly using other plesk nodes as members)- meaning a plesk node can reboot and the cache would not need to be re-saturated.
        if you have many sites that rely on caching on a single node, this is helpful, as cachestorms from a reboot could cripple a dense plesk node.

      • H.KH.K commented  ·   ·  Flag as inappropriate

        A user should be able to run his own redis/memcached instance under panel hosting settings.

        A version of redis/memcached should be supported under plesk updates and upgrades.

        Maybe an option to view OPCACHE stats here would also be awesome. Covering all caches in a section under hosting.

        A user should be able to run more than 1 redis instance or the host should be able to limit this, as per hosting package.

        A user would click the redis/memcached (all under cache header) section under hosting settings.

        On a new page, the top menu would read.

        New Redis instance, Delete Redis instance

        or

        New Memcached instance/Delete memcached instance.

        The redis/Memcached instances would be shown in a list on this page, if possible some stats. Like Hits. Hit rate. Cache Size etc.

        An instance can be started or stopped or cache cleared under this menu.

        It should be possible to edit cache ram size and other settings here. Similar to editing an SQL database in Plesk.

        Clicking the 'New Redis/memcached instance'. Will Create a box asking for Port, Instance name and other relevant settings.

        If possible hits percentage, memory usage, peak memory usage, and key in store could be displayed per Redis instance.

        Caching is really missing in Plesk Right now. Loads of people use it, the performance gains are well worth it, and these are all open source apps. Many of us are already running them on plesk servers. Im running both on mine.

        Code for redis stats below

        <?php
        $fp = fsockopen('127.0.0.1', 6379, $errno, $errstr, 30);

        $data = array();

        if (!$fp) {
        die($errstr);
        } else {
        fwrite($fp, "INFO\r\nQUIT\r\n");
        while (!feof($fp)) {
        $info = split(':', trim(fgets($fp)));
        if (isset($info[1])) $data[$info[0]] = $info[1];
        }
        fclose($fp);
        }
        ?>

        <html>
        <head>
        <title>Redis statistics</title>
        <style type="text/css">
        body {
        font-family: arial,sans-serif;
        color: #111;
        }

        div.box {
        background-color: #DFA462;
        width: 200px;
        height: 200px;
        text-align: center;
        margin: 6px;
        float: left;
        }

        div.key {
        font-weight: bold;
        font-size: 42px;
        }

        div.detail {
        text-align: left;
        }

        div.detail span {
        width: 90px;
        padding: 2px;
        display: inline-block;
        }

        div.detail span.title {
        text-align: right;
        }
        </style>
        </head>
        <body>

        <div class='box'>
        <div>Percentage hits</div>
        <div class='key'><?php echo round($data['keyspace_hits'] / ($data['keyspace_hits'] + $data['keyspace_misses']) * 100)."%";?></div>
        <div class='detail'>
        <span class='title'>Hits</span>
        <span><?php echo $data['keyspace_hits']; ?></span>
        </div>
        <div class='detail'>
        <span class='title'>Misses</span>
        <span><?php echo $data['keyspace_misses']; ?></span>
        </div>
        </div>

        <div class='box'>
        <div>Memory usage</div>
        <div class='key'><?php echo $data['used_memory_human'];?></div>
        </div>

        <div class='box'>
        <div>Peak memory usage</div>
        <div class='key'><?php echo $data['used_memory_peak_human'];?></div>
        </div>

        <div class='box'>
        <div>Keys in store</div>
        <div class='key'>
        <?php
        $values = split(',', $data['db0']);
        foreach($values as $value) {
        $kv = split('=', $value);
        $keyData[$kv[0]] = $kv[1];
        }
        echo $keyData['keys'];
        ?>
        </div>
        </div>
        </body>
        </html>

      • Madalin IgniscaMadalin Ignisca commented  ·   ·  Flag as inappropriate

        APC can be added easy by any sysadmin.

        Redis would be a lot better then Memcache as it supports PASSWORDS for each instance.

        This way an instance could be attached to a subscription with a random password provided to the client only.

        A mention is that passwords can be discovered by clients with full ssh access from the configs. It can be fixed by changing permissions to the folder and files for Redis configs.

        I give a vote so the Plesk stuff would consider Redis or Memcache with sockets (like php-fpm) instead of tcp ports (personally I can secure Memcache as well in other ways).

      • Benjamin HodgettsBenjamin Hodgetts commented  ·   ·  Flag as inappropriate

        This should ideally be "Memcached" rather than "Memcache" which is the older, not as feature rich version. It's one of the few modules missing from the "Multiple PHP Install" packages which is a major problem for some people.

      • davedave commented  ·   ·  Flag as inappropriate

        Plesk should have a caching section, with controls for PHP opcache, Memcache and redis.

      Feedback and Knowledge Base