VPS Optimization Request

wktd on Mar 13th 2010 08:02 pm edit

  • Hi,

    I moved our site to a new host about a month ago, from a shared hosting account to a VPS.

    At first things seemed ok, but over the past few days members have been complaining (http://www.talkwrestlingonline.com/forum/showthread.php?t=28698) about the time it takes to post/reply to threads and edit them. I've also noticed this myself.

    I've tried to include as much of the info as you have requested but I couldnt do it all as I wasnt sure how to find out some of the information required.

    1. Is this on dedicated or shared virual server? Its on a Virtual Private Server (VPS)

    2. General server information:

    Operating system Linux
    Kernel version 2.4.20-021stab028.19.777-enterprise
    Machine Type i686
    Apache version 1.3.34 (Unix)
    PERL version 5.8.7
    PHP version 4.4.1
    MySQL version 4.1.14-standard

    Host System Specifications:

    The below is taken from the webhosts VPS page:

    Intel Dual Xeon 3.06Ghz
    8GB Registered ECC DDR RAM
    73GB 15,000rpm U320 SCSI drives in Hardware RAID 10
    Hot-Spare drives, zero downtime during failure
    Hot-Swap drives and fans, replaceable on the fly
    Redundant Hot-Swap power supplies

    3. if you use mysql 4.x instead of mysql 3.23.x, do you have any innodb type databases/tables on your server? Not sure.

    4. if possible how mysql was compiled/installed Not sure.

    5. Your top stats: I'm not sure how I find these?

    6. your mysql configuration variables located at /etc/my.cnf or c:my.cnf or my.ini so post the contents inside of my.cnf (minus any passwords of course).


    back_log 50
    basedir /
    binlog_cache_size 32768
    bulk_insert_buffer_size 8388608
    character_set_client latin1
    character_set_connection latin1
    character_set_database latin1
    character_set_results latin1
    character_set_server latin1
    character_set_system utf8
    character_sets_dir /usr/share/mysql/charsets/
    collation_connection latin1_swedish_ci
    collation_database latin1_swedish_ci
    collation_server latin1_swedish_ci
    concurrent_insert ON
    connect_timeout 5
    datadir /var/lib/mysql/
    date_format %Y-%m-%d
    datetime_format %Y-%m-%d %H:%i:%s
    default_week_format 0
    delay_key_write ON
    delayed_insert_limit 100
    delayed_insert_timeout 300
    delayed_queue_size 1000
    expire_logs_days 0
    flush OFF
    flush_time 0
    ft_boolean_syntax + -><()~*:""&
    ft_max_word_len 84
    ft_min_word_len 4
    ft_query_expansion_limit 20
    ft_stopword_file (built-in)
    group_concat_max_len 1024
    have_archive NO
    have_bdb NO
    have_blackhole_engine NO
    have_compress YES
    have_crypt YES
    have_csv NO
    have_example_engine NO
    have_geometry YES
    have_innodb YES
    have_isam NO
    have_ndbcluster NO
    have_openssl NO
    have_query_cache YES
    have_raid NO
    have_rtree_keys YES
    have_symlink YES
    init_connect
    init_file
    init_slave
    innodb_additional_mem_pool_size 1048576
    innodb_autoextend_increment 8
    innodb_buffer_pool_awe_mem_mb 0
    innodb_buffer_pool_size 8388608
    innodb_data_file_path ibdata1:10M:autoextend
    innodb_data_home_dir
    innodb_fast_shutdown ON
    innodb_file_io_threads 4
    innodb_file_per_table OFF
    innodb_flush_log_at_trx_commit 1
    innodb_flush_method
    innodb_force_recovery 0
    innodb_lock_wait_timeout 50
    innodb_locks_unsafe_for_binlog OFF
    innodb_log_arch_dir
    innodb_log_archive OFF
    innodb_log_buffer_size 1048576
    innodb_log_file_size 5242880
    innodb_log_files_in_group 2
    innodb_log_group_home_dir ./
    innodb_max_dirty_pages_pct 90
    innodb_max_purge_lag 0
    innodb_mirrored_log_groups 1
    innodb_open_files 300
    innodb_table_locks ON
    innodb_thread_concurrency 8
    interactive_timeout 28800
    join_buffer_size 131072
    key_buffer_size 8388600
    key_cache_age_threshold 300
    key_cache_block_size 1024
    key_cache_division_limit 100
    language /usr/share/mysql/english/
    large_files_support ON
    license GPL
    local_infile ON
    locked_in_memory OFF
    log OFF
    log_bin OFF
    log_error
    log_slave_updates OFF
    log_slow_queries OFF
    log_update OFF
    log_warnings 1
    long_query_time 10
    low_priority_updates OFF
    lower_case_file_system OFF
    lower_case_table_names 0
    max_allowed_packet 1048576
    max_binlog_cache_size 4294967295
    max_binlog_size 1073741824
    max_connect_errors 10
    max_connections 100
    max_delayed_threads 20
    max_error_count 64
    max_heap_table_size 16777216
    max_insert_delayed_threads 20
    max_join_size 4294967295
    max_length_for_sort_data 1024
    max_relay_log_size 0
    max_seeks_for_key 4294967295
    max_sort_length 1024
    max_tmp_tables 32
    max_user_connections 0
    max_write_lock_count 4294967295
    myisam_data_pointer_size 4
    myisam_max_extra_sort_file_size 2147483648
    myisam_max_sort_file_size 2147483647
    myisam_recover_options OFF
    myisam_repair_threads 1
    myisam_sort_buffer_size 8388608
    net_buffer_length 16384
    net_read_timeout 30
    net_retry_count 10
    net_write_timeout 60
    new OFF
    old_passwords OFF
    open_files_limit 1024
    pid_file /var/lib/mysql/vps.talkwrestlingonline.com.pid
    port 3306
    preload_buffer_size 32768
    protocol_version 10
    query_alloc_block_size 8192
    query_cache_limit 1048576
    query_cache_min_res_unit 4096
    query_cache_size 0
    query_cache_type ON
    query_cache_wlock_invalidate OFF
    query_prealloc_size 8192
    range_alloc_block_size 2048
    read_buffer_size 131072
    read_only OFF
    read_rnd_buffer_size 262144
    relay_log_purge ON
    relay_log_space_limit 0
    rpl_recovery_rank 0
    secure_auth OFF
    server_id 0
    skip_external_locking ON
    skip_networking OFF
    skip_show_database OFF
    slave_net_timeout 3600
    slave_transaction_retries 0
    slow_launch_time 2
    socket /var/lib/mysql/mysql.sock
    sort_buffer_size 2097144
    sql_mode
    storage_engine MyISAM
    sql_notes OFF
    sql_warnings OFF
    sync_binlog 0
    sync_replication 0
    sync_replication_slave_id 0
    sync_replication_timeout 0
    sync_frm ON
    system_time_zone GMT
    table_cache 64
    table_type MyISAM
    thread_cache_size 0
    thread_stack 126976
    time_format %H:%i:%s
    time_zone SYSTEM
    tmp_table_size 33554432
    tmpdir
    transaction_alloc_block_size 8192
    transaction_prealloc_size 4096
    tx_isolation REPEATABLE-READ
    version 4.1.14-standard
    version_comment MySQL Community Edition - Standard (GPL)
    version_compile_machine i686
    version_compile_os pc-linux-gnu
    wait_timeout 28800
    Aborted_clients 16
    Aborted_connects 451
    Binlog_cache_disk_use 0
    Binlog_cache_use 0
    Bytes_received 1623412619
    Bytes_sent 3181355813
    Com_admin_commands 0
    Com_alter_db 0
    Com_alter_table 18
    Com_analyze 0
    Com_backup_table 0
    Com_begin 5532
    Com_change_db 1752392
    Com_change_master 0
    Com_check 0
    Com_checksum 0
    Com_commit 5532
    Com_create_db 0
    Com_create_function 0
    Com_create_index 0
    Com_create_table 5
    Com_dealloc_sql 0
    Com_delete 93519
    Com_delete_multi 0
    Com_do 0
    Com_drop_db 0
    Com_drop_function 0
    Com_drop_index 0
    Com_drop_table 5
    Com_drop_user 0
    Com_execute_sql 0
    Com_flush 4
    Com_grant 2
    Com_ha_close 0
    Com_ha_open 0
    Com_ha_read 0
    Com_help 0
    Com_insert 824266
    Com_insert_select 3555
    Com_kill 0
    Com_load 0
    Com_load_master_data 0
    Com_load_master_table 0
    Com_lock_tables 6501
    Com_optimize 0
    Com_preload_keys 0
    Com_prepare_sql 0
    Com_purge 0
    Com_purge_before_date 0
    Com_rename_table 0
    Com_repair 0
    Com_replace 67615
    Com_replace_select 0
    Com_reset 0
    Com_restore_table 0
    Com_revoke 0
    Com_revoke_all 0
    Com_rollback 0
    Com_savepoint 0
    Com_select 13976075
    Com_set_option 24343
    Com_show_binlog_events 0
    Com_show_binlogs 0
    Com_show_charsets 0
    Com_show_collations 0
    Com_show_column_types 0
    Com_show_create_db 0
    Com_show_create_table 270
    Com_show_databases 16
    Com_show_errors 0
    Com_show_fields 278
    Com_show_grants 2
    Com_show_innodb_status 0
    Com_show_keys 8
    Com_show_logs 0
    Com_show_master_status 0
    Com_show_new_master 0
    Com_show_open_tables 0
    Com_show_privileges 0
    Com_show_processlist 9892
    Com_show_slave_hosts 0
    Com_show_slave_status 0
    Com_show_status 1
    Com_show_storage_engines 0
    Com_show_tables 280
    Com_show_variables 126
    Com_show_warnings 0
    Com_slave_start 0
    Com_slave_stop 0
    Com_stmt_prepare 0
    Com_stmt_execute 0
    Com_stmt_send_long_data 0
    Com_stmt_reset 0
    Com_stmt_close 0
    Com_truncate 0
    Com_unlock_tables 6501
    Com_update 1661334
    Com_update_multi 560
    Connections 1749251
    Created_tmp_disk_tables 7130
    Created_tmp_files 71935
    Created_tmp_tables 857108
    Delayed_errors 0
    Delayed_insert_threads 0
    Delayed_writes 0
    Flush_commands 1
    Handler_commit 0
    Handler_delete 435093
    Handler_discover 0
    Handler_read_first 2653527
    Handler_read_key 238681767
    Handler_read_next 1065022643
    Handler_read_prev 20732871
    Handler_read_rnd 81644658
    Handler_read_rnd_next 1120629444
    Handler_rollback 0
    Handler_update 2037949
    Handler_write 74079136
    Key_blocks_not_flushed 0
    Key_blocks_unused 890
    Key_blocks_used 7248
    Key_read_requests 630159162
    Key_reads 2154423
    Key_write_requests 2031429
    Key_writes 1455026
    Max_used_connections 100
    Not_flushed_delayed_rows 0
    Open_files 95
    Open_streams 0
    Open_tables 64
    Opened_tables 84721
    Qcache_free_blocks 0
    Qcache_free_memory 0
    Qcache_hits 0
    Qcache_inserts 0
    Qcache_lowmem_prunes 0
    Qcache_not_cached 0
    Qcache_queries_in_cache 0
    Qcache_total_blocks 0
    Questions 20191593
    Rpl_status NULL
    Select_full_join 54810
    Select_full_range_join 31077
    Select_range 4245972
    Select_range_check 0
    Select_scan 2579683
    Slave_open_temp_tables 0
    Slave_running OFF
    Slave_retried_transactions 0
    Slow_launch_threads 17
    Slow_queries 3226
    Sort_merge_passes 35966
    Sort_range 1718923
    Sort_rows 504962280
    Sort_scan 959017
    Table_locks_immediate 26276795
    Table_locks_waited 17516
    Threads_cached 0
    Threads_connected 1
    Threads_created 1749250
    Threads_running 1
    Uptime 2999159
    7. MySQL stats from ssh telnet as root user type: I couldnt get this to work.

    8. is your vB the only thing on the server? or other scripts & sites which utilise php and mysql? The only thing on my VPS is the site which the forum is apart of. The main part of the site is the forum and its the only database on there.

    9. how many average and max concurrent users on your vB forum ? and what your cookie timeout is ? How/where would I find this?

    10. create a file named phpinfo.php and place this code in it and post the url/link to it from your web site Click here (http://www.talkwrestlingonline.com/phpinfo.php)

    11. if you run Apache and you have your own dedicated server or access to your httpd.conf (apache configuration file) can you post the values you have set for the following :
    KeepAlive
    MaxKeepAliveRequests
    KeepAliveTimeout
    MinSpareServers
    MaxSpareServers
    StartServers
    MaxClients
    AND Maxrequestsperchild value = Not sure if I would have access to this.

    12. what version of vB are you running? Version 3.5.4

    13. check to see if any files i.e. apache log files are hitting 2GB or 4GB max file size limits i.e. see if you have max file size exceeded messages in apache error log

    14. Post output from these 3 commands
    uname -a
    ulimit -aH
    cat /proc/cpuinfo Not sure how to do either of these questions.

    Thanks.


  • do you have ssh telnet access ? some of the required info needs root user access which on your web host can provide

    what control you using ? ensim, plesk, whm/cpanel, directadmin ?

    seems you're hitting max_connection limit set in your my.cnf file

    to get top stats in ssh telnet type

    top

    can you edit your /etc/my.cnf file or create a /etc/my.cnf at using ssh telnet ??


  • okay to edit /etc/my.cnf in ssh telnet type

    mv /etc/my.cnf /etc/my.cnf-old

    then type either

    nano /etc/my.cnf

    or

    pico /etc/my.cnf

    and a blank my.cnf file will be open

    copy and paste into it the below quoted contents


    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    safe-show-database
    back_log = 50
    skip-innodb
    max_connections = 500
    key_buffer = 16M
    myisam_sort_buffer_size = 64M
    join_buffer_size = 1M
    read_buffer_size = 1M
    sort_buffer_size = 2M
    table_cache = 1800
    thread_cache_size = 256
    wait_timeout = 180
    connect_timeout = 10
    tmp_table_size = 64M
    max_heap_table_size = 64M
    max_allowed_packet = 64M
    max_connect_errors = 10
    thread_concurrency = 4
    query_cache_limit = 8M
    query_cache_size = 80M
    query_cache_type = 1
    query_prealloc_size = 65536
    query_alloc_block_size = 32768
    default-storage-engine = MyISAM

    [mysql.server]
    user=mysql
    basedir=/var/lib

    [mysqld_safe]
    err-log=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    open_files_limit = 8192

    [mysqldump]
    quick
    max_allowed_packet = 16M

    [myisamchk]
    key_buffer = 64M
    sort_buffer = 64M
    read_buffer = 16M
    write_buffer = 16M

    [mysqlhotcopy]
    interactive-timeout


    then save and close file by hitting ctrl+x, it will prompt you to save the file as my.cnf and exit back to prompt

    Now restart mysql server for my.cnf changes to take effect :)


  • Hi,

    Yes I've got SSH access...although I've only ever used it to backup my forums (from looking at the VB manual instructions).

    I'm using CPanel 10.

    I'm not sure about editing/creating the /etc/my.cnf file - how can I check?

    Top stats:


    13:46:18 up 54 days, 15:27, 1 user, load average: 2.76, 2.69, 1.97
    76 processes: 75 sleeping, 1 running, 0 zombie, 0 stopped
    CPU0 states: 8.0% user 1.0% system 0.0% nice 0.0% iowait 90.3% idle
    CPU1 states: 8.3% user 0.3% system 0.0% nice 0.0% iowait 90.1% idle
    CPU2 states: 8.1% user 1.0% system 0.0% nice 0.0% iowait 90.2% idle
    CPU3 states: 9.0% user 2.1% system 0.0% nice 0.0% iowait 88.1% idle
    Mem: 8266652k av, 8225936k used, 40716k free, 0k shrd, 1454928k buff
    3496580k active, 3926524k inactive
    Swap: 6289320k av, 1678516k used, 4610804k free 3910056k cached
    PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND
    10044 nobody 14 0 12000 10M 4172 S 5.7 0.1 111:49 0 httpd
    10767 nobody 9 0 12292 11M 4092 S 5.1 0.1 109:28 2 httpd
    10775 nobody 9 0 12340 10M 4132 S 3.7 0.1 110:46 2 httpd
    1715 nobody 19 0 7952 7104 3360 S 1.9 0.0 0:00 0 httpd
    10772 nobody 9 0 11928 10M 4164 S 1.7 0.1 110:50 3 httpd
    27164 nobody 9 0 11992 10M 3788 S 1.3 0.1 0:03 1 httpd
    31163 nobody 9 0 7800 6964 3356 S 1.3 0.0 0:00 2 httpd
    7281 root 9 0 5696 3496 1428 S 0.5 0.0 40:20 1 cppop
    32298 talkwres 12 0 1084 1084 748 R 0.5 0.0 0:00 3 top
    7200 mailman 10 0 4648 2700 1856 S 0.1 0.0 10:52 2 python
    7232 mailman 9 0 4680 2708 1852 S 0.1 0.0 10:49 3 python
    7233 mailman 10 0 4728 2800 1852 S 0.1 0.0 11:29 0 python
    2657 mysql 9 0 26444 16M 2716 S 0.1 0.2 9:08 1 mysqld
    I also managed to get this bit of info...

    In SSH I typed "cat /etc/my.cnf" and this came up:


    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    [mysql.server]
    user=mysql
    basedir=/var/lib
    [safe_mysqld]
    err-log=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid

    I also typed in the text you wrote in question 14, here are the replies:


    [~]# uname -a
    Linux vps.talkwrestlingonline.com 2.4.20-021stab028.19.777-enterprise #1 SMP Wed Oct 19 13:05:01 MSD 2005 i686 i686 i386 GNU/Linux
    [~]# ulimit -aH
    core file size (blocks, -c) unlimited
    data seg size (kbytes, -d) unlimited
    file size (blocks, -f) unlimited
    max locked memory (kbytes, -l) unlimited
    max memory size (kbytes, -m) unlimited
    open files (-n) 1024
    pipe size (512 bytes, -p) 8
    stack size (kbytes, -s) unlimited
    cpu time (seconds, -t) unlimited
    max user processes (-u) 28416
    virtual memory (kbytes, -v) unlimited
    [~]# cat /proc/cpuinfo
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 15
    model : 4
    model name : Intel(R) Xeon(TM) CPU 3.00GHz
    stepping : 3
    cpu MHz : 3000.211
    cache size : 0 KB
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 5
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm lm
    bogomips : 5989.99
    processor : 1
    vendor_id : GenuineIntel
    cpu family : 15
    model : 4
    model name : Intel(R) Xeon(TM) CPU 3.00GHz
    stepping : 3
    cpu MHz : 3000.211
    cache size : 0 KB
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 5
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm lm
    bogomips : 5989.99
    processor : 2
    vendor_id : GenuineIntel
    cpu family : 15
    model : 4
    model name : Intel(R) Xeon(TM) CPU 3.00GHz
    stepping : 3
    cpu MHz : 3000.211
    cache size : 0 KB
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 5
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm lm
    bogomips : 5989.99
    processor : 3
    vendor_id : GenuineIntel
    cpu family : 15
    model : 4
    model name : Intel(R) Xeon(TM) CPU 3.00GHz
    stepping : 3
    cpu MHz : 3000.211
    cache size : 0 KB
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 5
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm lm
    bogomips : 5989.99


    I couldnt do question 7, I SSH'd in and typed:


    mysqladmin -uUSERNAME root -p DATABSENAME var ext stat ver


    ...but it didnt work.

    Thanks.







  • #If you have any other info about this subject , Please add it free.#
    Your name:
    E-mail:
    Telphone:

    Your comments:


    If you have any other info about VPS Optimization Request , Please add it free.

    Filed in enart.5isou.com |