The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Optimization for VPS with 8 GB Memory

Discussion in 'Workarounds and Optimization' started by eXspet, Feb 6, 2014.

  1. eXspet

    eXspet Registered

    Feb 6, 2014
    Likes Received:
    Trophy Points:
    cPanel Access Level:
    Root Administrator
    I've purchased a vps package from Contabo recently.

    My problem is:
    I've a online shop with prestashop script.
    When i tried to remove my products bulk (like 50 or 300 at one time), its giving me a 500 error.
    I've tried to modify my configurations but I can't do it.
    By the way, I've a hosting account on hostgator (baby package) and I'm using same script here and can do the removing product job properly.
    So, i think i need better configuration for mysql or php (I'm not sure :/)

    Could anyone help me?

    Here is my VPS properties:
    Processor Information
    Total processors: 2
    Processor #1
    Common KVM processor
    3200.084 MHz
    4096 KB
    Processor #2
    Common KVM processor
    3200.084 MHz
    4096 KB
    Memory Information
    Memory: 8040196k/8912896k available (5223k kernel code, 524688k absent, 348012k reserved, 7119k data, 1264k init)
    Here is my my.cnf:
    # Example MySQL config file for very large systems.
    # This is for a large system with memory of 1G-2G where the system runs mainly
    # MySQL.
    # MySQL programs look for option files in a set of
    # locations which depend on the deployment platform.
    # You can copy this option file to one of those
    # locations. For information about these locations, see:
    # In this file, you can use all long options that a program supports.
    # If you want to know which options a program supports, run the program
    # with the "--help" option.
    # The following options will be passed to all MySQL clients
    #password	= your_password
    port		= 3306
    socket		= /var/lib/mysql/mysql.sock
    # Here follows entries for some specific programs
    # The MySQL server
    port		= 3306
    socket		= /var/lib/mysql/mysql.sock
    max_allowed_packet = 1M
    table_open_cache = 1024
    sort_buffer_size = 2M
    read_buffer_size = 2M
    read_rnd_buffer_size = 8M
    myisam_sort_buffer_size = 64M
    thread_cache_size = 8
    query_cache_size = 32M
    query_cache_limit = 2M
    # Try number of CPU's*2 for thread_concurrency
    thread_concurrency = 8
    # Don't listen on a TCP/IP port at all. This can be a security enhancement,
    # if all processes that need to connect to mysqld run on the same host.
    # All interaction with mysqld must be made via Unix sockets or named pipes.
    # Note that using this option without enabling named pipes on Windows
    # (via the "enable-named-pipe" option) will render mysqld useless!
    # Replication Master Server (default)
    # binary logging is required for replication
    # required unique id between 1 and 2^32 - 1
    # defaults to 1 if master-host is not set
    # but will not function as a master if omitted
    server-id	= 1
    # Replication Slave (comment out master section to use this)
    # To configure this host as a replication slave, you can choose between
    # two methods :
    # 1) Use the CHANGE MASTER TO command (fully described in our manual) -
    #    the syntax is:
    #    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
    #    where you replace <host>, <user>, <password> by quoted strings and
    #    <port> by the master's port number (3306 by default).
    #    Example:
    #    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
    #    MASTER_USER='joe', MASTER_PASSWORD='secret';
    # OR
    # 2) Set the variables below. However, in case you choose this method, then
    #    start replication for the first time (even unsuccessfully, for example
    #    if you mistyped the password in master-password and the slave fails to
    #    connect), the slave will create a file, and any later
    #    change in this file to the variables' values below will be ignored and
    #    overridden by the content of the file, unless you shutdown
    #    the slave server, delete and restart the slaver server.
    #    For that reason, you may want to leave the lines below untouched
    #    (commented) and instead use CHANGE MASTER TO (see above)
    # required unique id between 2 and 2^32 - 1
    # (and different from the master)
    # defaults to 2 if master-host is set
    # but will not function as a slave if omitted
    #server-id       = 2
    # The replication master for this slave - required
    #master-host     =   <hostname>
    # The username the slave will use for authentication when connecting
    # to the master - required
    #master-user     =   <username>
    # The password the slave will authenticate with when connecting to
    # the master - required
    #master-password =   <password>
    # The port the master is listening on.
    # optional - defaults to 3306
    #master-port     =  <port>
    # binary logging - not required for slaves, but recommended
    # binary logging format - mixed recommended 
    tmp_table_size = 1024M
    max_heap_table_size = 1024M
    max_connections = 200
    # Uncomment the following if you are using InnoDB tables
    #innodb_data_home_dir = /var/lib/mysql
    #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
    #innodb_log_group_home_dir = /var/lib/mysql
    # You can set .._buffer_pool_size up to 50 - 80 %
    # of RAM but beware of setting memory usage too high
    innodb_buffer_pool_size = 2048M
    #innodb_additional_mem_pool_size = 20M
    # Set .._log_file_size to 25 % of buffer pool size
    #innodb_log_file_size = 100M
    #innodb_log_buffer_size = 8M
    #innodb_flush_log_at_trx_commit = 1
    #innodb_lock_wait_timeout = 50
    max_allowed_packet = 16M
    # Remove the next comment character if you are not familiar with SQL
    key_buffer_size = 1024M
    sort_buffer_size = 256M
    read_buffer = 2M
    write_buffer = 2M
    Here is my php.ini:
    ; WARNING ;
    ; This is the default settings file for new PHP installations.
    ; By default, PHP installs itself with a configuration suitable for
    ; development purposes, and *NOT* for production purposes.
    ; For several security-oriented considerations that should be taken
    ; before going online with your site, please consult php.ini-recommended
    ; and
    ; About this file ;
    ; This file controls many aspects of PHP's behavior.  In order for PHP to
    ; read it, it must be named 'php.ini'.  PHP looks for it in the current
    ; working directory, in the path designated by the environment variable
    ; PHPRC, and in the path that was defined in compile time (in that order).
    ; Under Windows, the compile-time path is the Windows directory.  The
    ; path in which the php.ini file is looked for can be overridden using
    ; the -c argument in command line mode.
    ; The syntax of the file is extremely simple.  Whitespace and Lines
    ; beginning with a semicolon are silently ignored (as you probably guessed).
    ; Section headers (e.g. [Foo]) are also silently ignored, even though
    ; they might mean something in the future.
    ; Directives are specified using the following syntax:
    ; directive = value
    ; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
    ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
    ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
    ; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo").
    ; Expressions in the INI file are limited to bitwise operators and parentheses:
    ; |        bitwise OR
    ; &        bitwise AND
    ; ~        bitwise NOT
    ; !        boolean NOT
    ; Boolean flags can be turned on using the values 1, On, True or Yes.
    ; They can be turned off using the values 0, Off, False or No.
    ; An empty string can be denoted by simply not writing anything after the equal
    ; sign, or by using the None keyword:
    ;  foo =         ; sets foo to an empty string
    ;  foo = none    ; sets foo to an empty string
    ;  foo = "none"  ; sets foo to the string 'none'
    ; If you use constants in your value, and these constants belong to a
    ; dynamically loaded extension (either a PHP extension or a Zend extension),
    ; you may only use these constants *after* the line that loads the extension.
    ; All the values in the php.ini-dist file correspond to the builtin
    ; defaults (that is, if no php.ini is used, or if you delete these lines,
    ; the builtin defaults will be identical).
    ; Language Options ;
    ; Enable the PHP scripting language engine under Apache.
    engine = On
    ; Allow the <? tag.  Otherwise, only <?php and <script> tags are recognized.  
    ; NOTE: Using short tags should be avoided when developing applications or
    ; libraries that are meant for redistribution, or deployment on PHP
    ; servers which are not under your control, because short tags may not
    ; be supported on the target server. For portable, redistributable code,
    ; be sure not to use short tags.
    short_open_tag = On
    ; Allow ASP-style <% %> tags.
    asp_tags = Off
    ; The number of significant digits displayed in floating point numbers.
    precision = 12
    ; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
    ;y2k_compliance = On
    ; Output buffering allows you to send header lines (including cookies) even
    ; after you send body content, at the price of slowing PHP's output layer a
    ; bit.  You can enable output buffering during runtime by calling the output
    ; buffering functions.  You can also enable output buffering for all files by
    ; setting this directive to On.  If you wish to limit the size of the buffer
    ; to a certain size - you can use a maximum number of bytes instead of 'On', as
    ; a value for this directive (e.g., output_buffering=4096).
    output_buffering = Off
    ; You can redirect all of the output of your scripts to a function.  For
    ; example, if you set output_handler to "mb_output_handler", character
    ; encoding will be transparently converted to the specified encoding.
    ; Setting any output handler automatically turns on output buffering.
    ; Note: People who wrote portable scripts should not depend on this ini
    ;       directive. Instead, explicitly set the output handler using ob_start().
    ;       Using this ini directive may cause problems unless you know what script 
    ;       is doing.
    ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
    ;       and you cannot use both "ob_gzhandler" and "zlib.output_compression". 
    ;output_handler =
    ; Transparent output compression using the zlib library
    ; Valid values for this option are 'off', 'on', or a specific buffer size
    ; to be used for compression (default is 4KB)
    ; Note: Resulting chunk size may vary due to nature of compression. PHP 
    ;       outputs chunks that are few hundreds bytes each as a result of 
    ;       compression. If you prefer a larger chunk size for better 
    ;       performance, enable output_buffering in addition.
    ; Note: You need to use zlib.output_handler instead of the standard
    ;       output_handler, or otherwise the output will be corrupted.
    zlib.output_compression = Off
    ; You cannot specify additional output handlers if zlib.output_compression
    ; is activated here. This setting does the same as output_handler but in
    ; a different order.
    ;zlib.output_handler =
    ; Implicit flush tells PHP to tell the output layer to flush itself
    ; automatically after every output block.  This is equivalent to calling the
    ; PHP function flush() after each and every call to print() or echo() and each
    ; and every HTML block.  Turning this option on has serious performance
    ; implications and is generally recommended for debugging purposes only.
    implicit_flush = Off
    ; The unserialize callback function will be called (with the undefined class'
    ; name as parameter), if the unserializer finds an undefined class
    ; which should be instanciated.
    ; A warning appears if the specified function is not defined, or if the
    ; function doesn't include/implement the missing class.
    ; So only set this entry, if you really want to implement such a 
    ; callback-function.
    unserialize_callback_func =
    ; When floats & doubles are serialized store serialize_precision significant
    ; digits after the floating point. The default value ensures that when floats
    ; are decoded with unserialize, the data will remain the same.
    serialize_precision = 1000
    ; Safe Mode
    ;safe_mode = Off
    ; By default, Safe Mode does a UID compare check when
    ; opening files. If you want to relax this to a GID compare,
    ; then turn on safe_mode_gid.
    ;safe_mode_gid = Off
    ; When safe_mode is on, UID/GID checks are bypassed when
    ; including files from this directory and its subdirectories.
    ; (directory must also be in include_path or full path must
    ; be used when including)
    ;safe_mode_include_dir =								
    ; When safe_mode is on, only executables located in the safe_mode_exec_dir
    ; will be allowed to be executed via the exec family of functions.
    ;safe_mode_exec_dir =
    ; Setting certain environment variables may be a potential security breach.
    ; This directive contains a comma-delimited list of prefixes.  In Safe Mode,
    ; the user may only alter environment variables whose names begin with the
    ; prefixes supplied here.  By default, users will only be able to set
    ; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
    ; Note:  If this directive is empty, PHP will let the user modify ANY
    ; environment variable!
    ;safe_mode_allowed_env_vars = PHP_
    ; This directive contains a comma-delimited list of environment variables that
    ; the end user won't be able to change using putenv().  These variables will be
    ; protected even if safe_mode_allowed_env_vars is set to allow to change them.
    ;safe_mode_protected_env_vars = LD_LIBRARY_PATH
    ; open_basedir, if set, limits all file operations to the defined directory
    ; and below.  This directive makes most sense if used in a per-directory
    ; or per-virtualhost web server configuration file. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    ;open_basedir =
    ; This directive allows you to disable certain functions for security reasons.
    ; It receives a comma-delimited list of function names. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    disable_functions = dl
    ; This directive allows you to disable certain classes for security reasons.
    ; It receives a comma-delimited list of class names. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    disable_classes =
    ; Colors for Syntax Highlighting mode.  Anything that's acceptable in
    ; <font color="??????"> would work.
    ;highlight.string  = #DD0000
    ;highlight.comment = #FF9900
    ;highlight.keyword = #007700
    ;      = #FFFFFF
    ;highlight.default = #0000BB
    ;highlight.html    = #000000
    ; Misc
    ; Decides whether PHP may expose the fact that it is installed on the server
    ; (e.g. by adding its signature to the Web server header).  It is no security
    ; threat in any way, but it makes it possible to determine whether you use PHP
    ; on your server or not.
    expose_php = Off
    ; Resource Limits ;
    max_execution_time = 32000
    max_input_time = 32000
    memory_limit = 8192M
    max_input_vars = 5000
    ; Error handling and logging ;
    ; error_reporting is a bit-field.  Or each number up to get desired error
    ; reporting level
    ; E_ALL             - All errors and warnings
    ; E_ERROR           - fatal run-time errors
    ; E_WARNING         - run-time warnings (non-fatal errors)
    ; E_PARSE           - compile-time parse errors
    ; E_NOTICE          - run-time notices (these are warnings which often result
    ;                     from a bug in your code, but it's possible that it was
    ;                     intentional (e.g., using an uninitialized variable and
    ;                     relying on the fact it's automatically initialized to an
    ;                     empty string)
    ; E_CORE_ERROR      - fatal errors that occur during PHP's initial startup
    ; E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
    ;                     initial startup
    ; E_COMPILE_ERROR   - fatal compile-time errors
    ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
    ; E_USER_ERROR      - user-generated error message
    ; E_USER_WARNING    - user-generated warning message
    ; E_USER_NOTICE     - user-generated notice message
    ; Examples:
    ;   - Show all errors, except for notices
    error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
    ;   - Show only errors
    ;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
    ;   - Show all errors except for notices
    ;error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
    ; Print out errors (as a part of the output).  For production web sites,
    ; you're strongly encouraged to turn this feature off, and use error logging
    ; instead (see below).  Keeping display_errors enabled on a production web site
    ; may reveal security information to end users, such as file paths on your Web
    ; server, your database schema or other information.
    display_errors = On
    ; Even when display_errors is on, errors that occur during PHP's startup
    ; sequence are not displayed.  It's strongly recommended to keep
    ; display_startup_errors off, except for when debugging.
    display_startup_errors = On
    ; Log errors into a log file (server-specific log, stderr, or error_log (below))
    ; As stated above, you're strongly advised to use error logging in place of
    ; error displaying on production web sites.
    log_errors = On
    ; Set maximum length of log_errors. In error_log information about the source is
    ; added. The default is 1024 and 0 allows to not apply any maximum length at all.
    log_errors_max_len = 1024
    ; Do not log repeated messages. Repeated errors must occur in same file on same
    ; line until ignore_repeated_source is set true.
    ignore_repeated_errors = Off
    ; Ignore source of message when ignoring repeated messages. When this setting 
    ; is On you will not log errors with repeated messages from different files or
    ; sourcelines.
    ignore_repeated_source = Off
    ; If this parameter is set to Off, then memory leaks will not be shown (on
    ; stdout or in the log). This has only effect in a debug compile, and if 
    ; error reporting includes E_WARNING in the allowed list
    report_memleaks = On
    ; Store the last error/warning message in $php_errormsg (boolean).
    track_errors = Off
    ; Disable the inclusion of HTML tags in error messages.
    ;html_errors = Off
    ; If html_errors is set On PHP produces clickable error messages that direct 
    ; to a page describing the error or function causing the error in detail.
    ; You can download a copy of the PHP manual from 
    ; and change docref_root to the base URL of your local copy including the
    ; leading '/'. You must also specify the file extension being used including 
    ; the dot.
    ;docref_root = "/phpmanual/"
    ;docref_ext = .html
    ; String to output before an error message.
    ;error_prepend_string = "<font color=ff0000>"
    ; String to output after an error message.
    ;error_append_string = "</font>"
    ; Log errors to specified file.
    error_log = error_log
    ; Log errors to syslog (Event Log on NT, not valid in Windows 95).
    ;error_log = syslog
    ; Data Handling ;
    ; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
    ; The separator used in PHP generated URLs to separate arguments.
    ; Default is "&". 
    ;arg_separator.output = "&amp;"
    ; List of separator(s) used by PHP to parse input URLs into variables.
    ; Default is "&". 
    ; NOTE: Every character in this directive is considered as separator!
    ;arg_separator.input = ";&"
    ; This directive describes the order in which PHP registers GET, POST, Cookie,
    ; Environment and Built-in variables (G, P, C, E & S respectively, often
    ; referred to as EGPCS or GPC).  Registration is done from left to right, newer
    ; values override older values.
    variables_order = "EGPCS"
    ; Whether or not to register the EGPCS variables as global variables.  You may
    ; want to turn this off if you don't want to clutter your scripts' global scope
    ; with user data.  This makes most sense when coupled with track_vars - in which
    ; case you can access all of the GPC variables through the $HTTP_*_VARS[],
    ; variables.
    ; You should do your best to write your scripts so that they do not require
    ; register_globals to be on;  Using form variables as globals can easily lead
    ; to possible security problems, if the code is not very well thought of.
    ;register_globals = Off ; deprecated
    ; This directive tells PHP whether to declare the argv&argc variables (that
    ; would contain the GET information).  If you don't use these variables, you
    ; should turn it off for increased performance.
    register_argc_argv = On
    ; Maximum size of POST data that PHP will accept.
    post_max_size = 8192M
    ; This directive is deprecated.  Use variables_order instead.
    gpc_order = "GPC"
    ; Magic quotes
    ; Magic quotes for incoming GET/POST/Cookie data.
    ;magic_quotes_gpc = Off
    ; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
    ;magic_quotes_runtime = Off    
    ; Use Sybase-style magic quotes (escape ' with '' instead of \').
    ;magic_quotes_sybase = Off
    ; Automatically add files before or after any PHP document.
    auto_prepend_file =
    auto_append_file =
    ; As of 4.0b4, PHP always outputs a character encoding by default in
    ; the Content-type: header.  To disable sending of the charset, simply
    ; set it to be empty.
    ; PHP's built-in default is text/html
    default_mimetype = "text/html"
    ;default_charset = "iso-8859-1"
    ; Always populate the $HTTP_RAW_POST_DATA variable.
    always_populate_raw_post_data = Off
    ; Paths and Directories ;
    ; UNIX: "/path1:/path2"  
    include_path = ".:/usr/lib/php:/usr/local/lib/php"
    ; Windows: "\path1;\path2"
    ;include_path = ".;c:\php\includes"
    ; The root of the PHP pages, used only if nonempty.
    ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
    ; if you are running php as a CGI under any web server (other than IIS)
    ; see documentation for security issues.  The alternate is to use the
    ; cgi.force_redirect configuration below
    doc_root =
    ; The directory under which PHP opens the script using /~username used only
    ; if nonempty.
    user_dir =
    ; Directory in which the loadable extensions (modules) reside.
    extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20100525"
    zend_extension = "/usr/local/IonCube/"
    zend_extension = "/usr/local/Zend/lib/Guard-6.0.0/php-5.4.x/"
    extension = ""
    extension = ""
    ; Whether or not to enable the dl() function.  The dl() function does NOT work
    ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
    ; disabled on them.
    enable_dl = Off
    ; cgi.force_redirect is necessary to provide security running PHP as a CGI under
    ; most web servers.  Left undefined, PHP turns this on by default.  You can
    ; turn it off here AT YOUR OWN RISK
    ; **You CAN safely turn this off for IIS, in fact, you MUST.**
    ; cgi.force_redirect = 1
    ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
    ; every request.
    ; cgi.nph = 1
    ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape 
    ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
    ; will look for to know it is OK to continue execution.  Setting this variable MAY
    ; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
    ; cgi.redirect_status_env = ;
    ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
    ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
    ; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
    ; this to 1 will cause PHP CGI to fix it's paths to conform to the spec.  A setting
    ; of zero causes PHP to behave as before.  Default is zero.  You should fix your scripts
    ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
    ; cgi.fix_pathinfo=0
    ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
    ; security tokens of the calling client.  This allows IIS to define the
    ; security context that the request runs under.  mod_fastcgi under Apache
    ; does not currently support this feature (03/17/2002)
    ; Set to 1 if running under IIS.  Default is zero.
    ; fastcgi.impersonate = 1;
    ; cgi.rfc2616_headers configuration option tells PHP what type of headers to
    ; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
    ; is supported by Apache. When this option is set to 1 PHP will send
    ; RFC2616 compliant header.
    ; Default is zero.
    ;cgi.rfc2616_headers = 0 
    ; File Uploads ;
    ; Whether to allow HTTP file uploads.
    file_uploads = On
    ; Temporary directory for HTTP uploaded files (will use system default if not
    ; specified).
    ;upload_tmp_dir =
    ; Maximum allowed size for uploaded files.
    upload_max_filesize = 8192M
    ; Fopen wrappers ;
    ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
    allow_url_fopen = On
    ; Define the anonymous ftp password (your email address)
    ; Define the User-Agent string
    ; user_agent="PHP"
    ; Default timeout for socket based streams (seconds)
    default_socket_timeout = 600
    ; If your scripts have to deal with files from Macintosh systems,
    ; or you are running on a Mac and need to deal with files from
    ; unix or win32 systems, setting this flag will cause PHP to
    ; automatically detect the EOL character in those files so that
    ; fgets() and file() will work regardless of the source of the file.
    auto_detect_line_endings = Off
    ; Dynamic Extensions ;
    ; If you wish to have an extension loaded automatically, use the following
    ; syntax:
    ; For example, on Windows:
    ; ... or under UNIX:
    ; Note that it should be the name of the module only; no directory information 
    ; needs to go here.  Specify the location of the extension with the
    ; extension_dir directive above.
    ;Windows Extensions
    ;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
    ; Module Settings ;
    ; Whether or not to define the various syslog variables (e.g. $LOG_PID,
    ; $LOG_CRON, etc.).  Turning it off is a good idea performance-wise.  In
    ; runtime, you can define these variables by calling define_syslog_variables().
    ;define_syslog_variables  = Off
    [mail function]
    ; For Win32 only.
    ;SMTP = localhost
    smtp_port = 26
    ; For Win32 only.
    ;sendmail_from =
    ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    sendmail_path = "/usr/sbin/sendmail -t -i"
    ;java.class.path = .\php_java.jar
    ;java.home = c:\jdk
    ;java.library = c:\jdk\jre\bin\hotspot\jvm.dll 
    ;java.library.path = .\
    sql.safe_mode = Off
    ;odbc.default_db    =  Not yet implemented
    ;odbc.default_user  =  Not yet implemented
    ;odbc.default_pw    =  Not yet implemented
    ; Allow or prevent persistent links.
    odbc.allow_persistent = On
    ; Check that a connection is still valid before reuse.
    odbc.check_persistent = On
    ; Maximum number of persistent links.  -1 means no limit.
    odbc.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
    odbc.max_links = -1
    ; Handling of LONG fields.  Returns number of bytes to variables.  0 means
    ; passthru.
    odbc.defaultlrl = 4096
    ; Handling of binary data.  0 means passthru, 1 return as is, 2 convert to char.
    ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
    ; of uodbc.defaultlrl and uodbc.defaultbinmode
    odbc.defaultbinmode = 1
    ; Allow or prevent persistent links.
    mysql.allow_persistent = On
    ; Maximum number of persistent links.  -1 means no limit.
    mysql.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
    mysql.max_links = -1
    ; Default port number for mysql_connect().  If unset, mysql_connect() will use
    ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
    ; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
    ; at MYSQL_PORT.
    mysql.default_port =
    ; Default socket name for local MySQL connects.  If empty, uses the built-in
    ; MySQL defaults.
    mysql.default_socket =
    ; Default host for mysql_connect() (doesn't apply in safe mode).
    mysql.default_host =
    ; Default user for mysql_connect() (doesn't apply in safe mode).
    mysql.default_user =
    ; Default password for mysql_connect() (doesn't apply in safe mode).
    ; Note that this is generally a *bad* idea to store passwords in this file.
    ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
    ; and reveal this password!  And of course, any users with read access to this
    ; file will be able to reveal the password as well.
    mysql.default_password =
    ; Maximum time (in seconds) for connect timeout. -1 means no limit
    mysql.connect_timeout = 6000
    ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
    ; SQL-Errors will be displayed.
    mysql.trace_mode = Off
    ; Allow or prevent persistent links.
    msql.allow_persistent = On
    ; Maximum number of persistent links.  -1 means no limit.
    msql.max_persistent = -1
    ; Maximum number of links (persistent+non persistent).  -1 means no limit.
    msql.max_links = -1
    ; Allow or prevent persistent links.
    pgsql.allow_persistent = On
    ; Detect broken persistent links always with pg_pconnect(). Need a little overhead.
    pgsql.auto_reset_persistent = Off
    ; Maximum number of persistent links.  -1 means no limit.
    pgsql.max_persistent = -1
    ; Maximum number of links (persistent+non persistent).  -1 means no limit.
    pgsql.max_links = -1
    ; Ignore PostgreSQL backends Notice message or not.
    pgsql.ignore_notice = 0
    ; Log PostgreSQL backends Noitce message or not.
    ; Unless pgsql.ignore_notice=0, module cannot log notice message.
    pgsql.log_notice = 0
    ; Allow or prevent persistent links.
    sybase.allow_persistent = On
    ; Maximum number of persistent links.  -1 means no limit.
    sybase.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
    sybase.max_links = -1
    ;sybase.interface_file = "/usr/sybase/interfaces"
    ; Minimum error severity to display.
    sybase.min_error_severity = 10
    ; Minimum message severity to display.
    sybase.min_message_severity = 10
    ; Compatability mode with old versions of PHP 3.0.
    ; If on, this will cause PHP to automatically assign types to results according
    ; to their Sybase type, instead of treating them all as strings.  This
    ; compatibility mode will probably not stay around forever, so try applying
    ; whatever necessary changes to your code, and turn it off.
    sybase.compatability_mode = Off
    ; Allow or prevent persistent links.
    sybct.allow_persistent = On
    ; Maximum number of persistent links.  -1 means no limit.
    sybct.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
    sybct.max_links = -1
    ; Minimum server message severity to display.
    sybct.min_server_severity = 10
    ; Minimum client message severity to display.
    sybct.min_client_severity = 10
    ; returned column names can be converted for compatibility reasons
    ; possible values for dbx.colnames_case are
    ; "unchanged" (default, if not set)
    ; "lowercase"
    ; "uppercase"
    ; the recommended default is either upper- or lowercase, but
    ; unchanged is currently set for backwards compatibility
    dbx.colnames_case = "unchanged"
    ; Number of decimal digits for all bcmath functions.
    bcmath.scale = 0
    ;browscap = extra/browscap.ini
    ; Default host for ifx_connect() (doesn't apply in safe mode).
    ifx.default_host =
    ; Default user for ifx_connect() (doesn't apply in safe mode).
    ifx.default_user =
    ; Default password for ifx_connect() (doesn't apply in safe mode).
    ifx.default_password =
    ; Allow or prevent persistent links.
    ifx.allow_persistent = On
    ; Maximum number of persistent links.  -1 means no limit.
    ifx.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
    ifx.max_links = -1
    ; If on, select statements return the contents of a text blob instead of its id.
    ifx.textasvarchar = 0
    ; If on, select statements return the contents of a byte blob instead of its id.
    ifx.byteasvarchar = 0
    ; Trailing blanks are stripped from fixed-length char columns.  May help the
    ; life of Informix SE users.
    ifx.charasvarchar = 0
    ; If on, the contents of text and byte blobs are dumped to a file instead of
    ; keeping them in memory.
    ifx.blobinfile = 0
    ; NULL's are returned as empty strings, unless this is set to 1.  In that case,
    ; NULL's are returned as string 'NULL'.
    ifx.nullformat = 0
    ; Handler used to store/retrieve data.
    session.save_handler = files
    ; Argument passed to save_handler.  In the case of files, this is the path
    ; where data files are stored. Note: Windows users have to change this 
    ; variable in order to use PHP's session functions.
    ; As of PHP 4.0.1, you can define the path as: session.save_path = "N;/path"
    ; where N is an integer.  Instead of storing all the session files in 
    ; /path, what this will do is use subdirectories N-levels deep, and 
    ; store the session data in those directories.  This is useful if you 
    ; or your OS have problems with lots of files in one directory, and is 
    ; a more efficient layout for servers that handle lots of sessions.
    ; NOTE 1: PHP will not create this directory structure automatically.
    ;         You can use the script in the ext/session dir for that purpose.
    ; NOTE 2: See the section on garbage collection below if you choose to
    ;         use subdirectories for session storage
    session.save_path = "/tmp"
    ; Whether to use cookies.
    session.use_cookies = 1
    ; This option enables administrators to make their users invulnerable to
    ; attacks which involve passing session ids in URLs; defaults to 0.
    ; session.use_only_cookies = 1
    ; Name of the session (used as cookie name). = PHPSESSID
    ; Initialize session on request startup.
    session.auto_start = 0
    ; Lifetime in seconds of cookie or, if 0, until browser is restarted.
    session.cookie_lifetime = 0
    ; The path for which the cookie is valid.
    session.cookie_path = "/"
    ; The domain for which the cookie is valid.
    session.cookie_domain =
    ; Handler used to serialize data.  php is the standard serializer of PHP.
    session.serialize_handler = php
    ; Define the probability that the 'garbage collection' process is started
    ; on every session initialization.
    ; The probability is calculated by using gc_probability/gc_divisor,
    ; e.g. 1/100 means there is a 1% chance that the GC process starts
    ; on each request.
    session.gc_probability = 1
    session.gc_divisor = 100
    ; After this number of seconds, stored data will be seen as 'garbage' and
    ; cleaned up by the garbage collection process.
    session.gc_maxlifetime = 1440
    ; NOTE: If you are using the subdirectory option for storing session files
    ;       (see session.save_path above), then garbage collection does *not*
    ;       happen automatically.  You will need to do your own garbage 
    ;       collection through a shell script, cron entry, or some other method. 
    ;       For example, the following script would is the equivalent of
    ;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
    ;          cd /path/to/sessions; find -cmin +24 | xargs rm
    ; PHP 4.2 and less have an undocumented feature/bug that allows you to
    ; to initialize a session variable in the global scope, albeit register_globals
    ; is disabled.  PHP 4.3 and later will warn you, if this feature is used.
    ; You can disable the feature and the warning separately. At this time,
    ; the warning is only displayed, if bug_compat_42 is enabled.
    ;session.bug_compat_42 = 1
    ;session.bug_compat_warn = 1
    ; Check HTTP Referer to invalidate externally stored URLs containing ids.
    ; HTTP_REFERER has to contain this substring for the session to be
    ; considered as valid.
    session.referer_check =
    ; How many bytes to read from the file.
    session.entropy_length = 0
    ; Specified here to create the session id.
    session.entropy_file =
    ;session.entropy_length = 16
    ;session.entropy_file = /dev/urandom
    ; Set to {nocache,private,public,} to determine HTTP caching aspects
    ; or leave this empty to avoid sending anti-caching headers.
    session.cache_limiter = nocache
    ; Document expires after n minutes.
    session.cache_expire = 1800
    ; trans sid support is disabled by default.
    ; Use of trans sid may risk your users security. 
    ; Use this option with caution.
    ; - User may send URL contains active session ID
    ;   to other person via. email/irc/etc.
    ; - URL that contains active session ID may be stored
    ;   in publically accessible computer.
    ; - User may access your site with the same session ID
    ;   always using URL stored in browser's history or bookmarks.
    session.use_trans_sid = 0
    ; The URL rewriter will look for URLs in a defined set of HTML tags.
    ; form/fieldset are special; if you include them here, the rewriter will
    ; add a hidden <input> field with the info which is otherwise appended
    ; to URLs.  If you want XHTML conformity, remove the form entry.
    ; Note that all valid entries require a "=", even if no value follows.
    url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
    ; Allow or prevent persistent links.
    mssql.allow_persistent = On
    ; Maximum number of persistent links.  -1 means no limit.
    mssql.max_persistent = -1
    ; Maximum number of links (persistent+non persistent).  -1 means no limit.
    mssql.max_links = -1
    ; Minimum error severity to display.
    mssql.min_error_severity = 10
    ; Minimum message severity to display.
    mssql.min_message_severity = 10
    ; Compatability mode with old versions of PHP 3.0.
    mssql.compatability_mode = Off
    ; Connect timeout
    ;mssql.connect_timeout = 5
    ; Query timeout
    ;mssql.timeout = 60
    ; Valid range 0 - 2147483647.  Default = 4096.
    ;mssql.textlimit = 4096
    ; Valid range 0 - 2147483647.  Default = 4096.
    ;mssql.textsize = 4096
    ; Limits the number of records in each batch.  0 = all records in one batch.
    ;mssql.batchsize = 0
    ; Specify how datetime and datetim4 columns are returned
    ; On => Returns data converted to SQL server settings
    ; Off => Returns values as YYYY-MM-DD hh:mm:ss
    ;mssql.datetimeconvert = On
    ; Use NT authentication when connecting to the server
    mssql.secure_connection = Off
    ; Specify max number of processes. Default = 25
    ;mssql.max_procs = 25
    ; Assert(expr); active by default.
    ; = On
    ; Issue a PHP warning for each failed assertion.
    ;assert.warning = On
    ; Don't bail out by default.
    ;assert.bail = Off
    ; User-function to be called if an assertion fails.
    ;assert.callback = 0
    ; Eval the expression with current error_reporting().  Set to true if you want
    ; error_reporting(0) around the eval().
    ;assert.quiet_eval = 0
    [Ingres II]
    ; Allow or prevent persistent links.
    ingres.allow_persistent = On
    ; Maximum number of persistent links.  -1 means no limit.
    ingres.max_persistent = -1
    ; Maximum number of links, including persistents.  -1 means no limit.
    ingres.max_links = -1
    ; Default database (format: [node_id::]dbname[/srv_class]).
    ingres.default_database =
    ; Default user.
    ingres.default_user =
    ; Default password.
    ingres.default_password =
    [Verisign Payflow Pro]
    ; Default Payflow Pro server.
    pfpro.defaulthost = ""
    ; Default port to connect to.
    pfpro.defaultport = 443
    ; Default timeout in seconds.
    pfpro.defaulttimeout = 30
    ; Default proxy IP address (if required).
    ;pfpro.proxyaddress =
    ; Default proxy port.
    ;pfpro.proxyport =
    ; Default proxy logon.
    ;pfpro.proxylogon =
    ; Default proxy password.
    ;pfpro.proxypassword =
    ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
    ;com.typelib_file = 
    ; allow Distributed-COM calls
    ;com.allow_dcom = true
    ; autoregister constants of a components typlib on com_load()
    ;com.autoregister_typelib = true
    ; register constants casesensitive
    ;com.autoregister_casesensitive = false
    ; show warnings on duplicate constat registrations
    ;com.autoregister_verbose = true
    ;printer.default_printer = ""
    ; language for internal character representation.
    ;mbstring.language = Japanese
    ; internal/script encoding.
    ; Some encoding cannot work as internal encoding.
    ; (e.g. SJIS, BIG5, ISO-2022-*)
    ;mbstring.internal_encoding = EUC-JP
    ; http input encoding.
    ;mbstring.http_input = auto
    ; http output encoding. mb_output_handler must be
    ; registered as output buffer to function
    ;mbstring.http_output = SJIS
    ; enable automatic encoding translation accoding to 
    ; mbstring.internal_encoding setting. Input chars are
    ; converted to internal encoding by setting this to On.
    ; Note: Do _not_ use automatic encoding translation for
    ;       portable libs/applications.
    ;mbstring.encoding_translation = Off
    ; automatic encoding detection order.
    ; auto means 
    ;mbstring.detect_order = auto
    ; substitute_character used when character cannot be converted
    ; one from another
    ;mbstring.substitute_character = none;
    ; overload(replace) single byte functions by mbstring functions.
    ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
    ; etc. Possible values are 0,1,2,4 or combination of them.
    ; For example, 7 for overload everything.
    ; 0: No overload
    ; 1: Overload mail() function
    ; 2: Overload str*() functions
    ; 4: Overload ereg*() functions
    ;mbstring.func_overload = 0
    ;fbsql.allow_persistent = On
    ;fbsql.autocommit = On
    ;fbsql.default_database = 
    ;fbsql.default_database_password =
    ;fbsql.default_host =
    ;fbsql.default_password =
    ;fbsql.default_user = "_SYSTEM"
    ;fbsql.generate_warnings = Off
    ;fbsql.max_connections = 128
    ;fbsql.max_links = 128
    ;fbsql.max_persistent = -1
    ;fbsql.max_results = 128
    ;fbsql.batchSize = 1000
    ; Modify the setting below to match the directory location of the cracklib
    ; dictionary files.  Include the base filename, but not the file extension.
    ; crack.default_dictionary = "c:\php\lib\cracklib_dict"
    ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. 
    ; With mbstring support this will automatically be converted into the encoding
    ; given by corresponding encode setting. When empty mbstring.internal_encoding 
    ; is used. For the decode settings you can distinguish between motorola and 
    ; intel byte order. A decode setting cannot be empty.
    ;exif.encode_unicode = ISO-8859-15
    ;exif.decode_unicode_motorola = UCS-2BE
    ;exif.decode_unicode_intel    = UCS-2LE
    ;exif.encode_jis = 
    ;exif.decode_jis_motorola = JIS
    ;exif.decode_jis_intel    = JIS
    ; Local Variables:
    ; tab-width: 4
    ; End:
    date.timezone = UTC
    Here is my report:
     >>  MySQLTuner 1.2.0 - Major Hayden <>
     >>  Bug reports, feature requests, and downloads at
     >>  Run with '--help' for additional options and output filtering
    -------- General Statistics --------------------------------------------------
    [--] Skipped version check for MySQLTuner script
    [OK] Currently running supported MySQL version 5.5.35-cll
    [OK] Operating on 64-bit architecture
    -------- Storage Engine Statistics -------------------------------------------
    [--] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
    [--] Data in MyISAM tables: 559M (Tables: 1116)
    [--] Data in InnoDB tables: 1G (Tables: 1923)
    [--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17)
    [!!] Total fragmented tables: 2007
    -------- Security Recommendations  -------------------------------------------
    [OK] All database users have passwords assigned
    -------- Performance Metrics -------------------------------------------------
    [--] Up for: 21h 0m 16s (5M q [68.759 qps], 98K conn, TX: 23B, RX: 1B)
    [--] Reads / Writes: 90% / 10%
    [--] Total buffers: 3.1G global + 12.4M per thread (200 max threads)
    [OK] Maximum possible memory usage: 5.5G (71% of installed RAM)
    [OK] Slow queries: 0% (40/5M)
    [OK] Highest usage of available connections: 15% (30/200)
    [OK] Key buffer size / total MyISAM indexes: 8.0M/71.4M
    [OK] Key buffer hit rate: 99.6% (68M cached / 300K reads)
    [OK] Query cache efficiency: 57.5% (2M cached / 4M selects)
    [!!] Query cache prunes per day: 797130
    [OK] Sorts requiring temporary tables: 0% (94 temp sorts / 300K sorts)
    [!!] Joins performed without indexes: 493
    [!!] Temporary tables created on disk: 43% (122K on disk / 279K total)
    [OK] Thread cache hit rate: 99% (409 created / 98K connections)
    [!!] Table cache hit rate: 4% (1K open / 22K opened)
    [OK] Open file limit used: 10% (1K/11K)
    [OK] Table locks acquired immediately: 99% (2M immediate / 2M locks)
    [OK] InnoDB data size / buffer pool: 1.7G/2.0G
    -------- Recommendations -----------------------------------------------------
    General recommendations:
        Run OPTIMIZE TABLE to defragment tables for better performance
        MySQL started within last 24 hours - recommendations may be inaccurate
        Enable the slow query log to troubleshoot bad queries
        Adjust your join queries to always utilize indexes
        Temporary table size is already large - reduce result set size
        Reduce your SELECT DISTINCT queries without LIMIT clauses
        Increase table_cache gradually to avoid file descriptor limits
    Variables to adjust:
        query_cache_size (> 32M)
        join_buffer_size (> 128.0K, or always use indexes with joins)
        table_cache (> 1024)
  2. cPanelMichael

    cPanelMichael Forums Analyst
    Staff Member

    Apr 11, 2011
    Likes Received:
    Trophy Points:
    cPanel Access Level:
    Root Administrator
    Hello :)

    You mentioned a "500 - Internal Server Error" message. I recommend reviewing the Apache error log (/usr/local/apache/logs/error_log) when you receive this message to determine the exact cause.

    Thank you.

Share This Page