Installing libaio

Discussion in 'Linux VPS/Dedicated - cPanel' started by Dion, Apr 6, 2014.

  1. Dion

    Dion Member

    I have an application that would greatly benefit from the row-locking of MySQL InnoDB tables, but to this point, I have had nothing but problems using InnoDB (crashed tables on a daily basis). I am fairly certain it is due to my VPS (SSD-2) not having libaio installed, coupled with MySQL 5.5.10+ being optimized for libaio.

    I know I can install libaio via YUM, but before I do this, I wanted to get some assurances that this will not break my VPS. I'm concerned because libaio offers a significant performance boost, which makes me wonder why it is not installed by default. Is it a case of "oops, we forgot", a case of "libaio will not work on a KnownHost VPS", or something in between?
     
  2. KH-Jonathan

    KH-Jonathan Director of Managed Services Staff Member

    Dion,

    Are you sure you don't have libaio? I just check against two new VPSs and both had it by default.

    Code:
    # rpm -qa |grep libaio
    libaio-0.3.107-10.el6.i686
    libaio-devel-0.3.107-10.el6.i686
    What makes you think you don't have it?
     
  3. Dion

    Dion Member

    How strange...as recently as yesterday morning , running yum list installed would show no trace of libaio. I jusr ran it now and the two libraries were in the installed list.

    Oh well, never mind! I'll do some tests with InnoDB and see if things work better now.
     
  4. Dion

    Dion Member

    Hmm...

    Code:
    140407 18:04:49 mysqld_safe mysqld from pid file /var/lib/mysql/host.diondesigns.org.pid ended
    140407 18:04:49 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
    140407 18:04:49 [Note] Plugin 'FEDERATED' is disabled.
    140407 18:04:49 InnoDB: The InnoDB memory heap is disabled
    140407 18:04:49 InnoDB: Mutexes and rw_locks use InnoDB's own implementation
    140407 18:04:49 InnoDB: Compressed tables use zlib 1.2.3
    140407 18:04:49 InnoDB: Using Linux native AIO
    140407 18:04:49  InnoDB: Warning: io_setup() failed with EAGAIN. Will make 5 attempts before giving up.
    InnoDB: Warning: io_setup() attempt 1 failed.
    InnoDB: Warning: io_setup() attempt 2 failed.
    InnoDB: Warning: io_setup() attempt 3 failed.
    InnoDB: Warning: io_setup() attempt 4 failed.
    InnoDB: Warning: io_setup() attempt 5 failed.
    140407 18:04:52  InnoDB: Error: io_setup() failed with EAGAIN after 5 attempts.
    InnoDB: You can disable Linux Native AIO by setting innodb_use_native_aio = 0 in my.cnf
    140407 18:04:52 InnoDB: Fatal error: cannot initialize AIO sub-system
    140407 18:04:52 [ERROR] Plugin 'InnoDB' init function returned error.
    140407 18:04:52 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
    If I set innodb_use_native_aio = 0 in my.cnf, that would result in the same problems I've been having with crashed InnoDB tables. How does one get MySQL InnoDB tables to use AIO?

    Separate topic...ever since you did your CloudFlare experiment, I have been receiving the following JS error in Firefox. The error is for all intents breaking this forum for me -- I must disable JS in order to see avatars or create posts/replies.

    Code:
    Error: uncaught exception: [Exception... "Component returned failure code: 0x805e0006 [nsIXMLHttpRequest.open]"  nsresult: "0x805e0006 (<unknown>)"  location: "JS frame :: http://ajax.cloudflare.com/cdn-cgi/nexp/dok9v=b064e16429/cloudflare.min.js :: <TOP_LEVEL> :: line 4"  data: no]
     

Share This Page