New Host For Wiki With Thousands Of Visitors Per Day
May 14, 2008
I am running a very successful wiki based website that has outgrown our current web host. The site runs very slow because our host says we are hitting the memory limit on the server (currently under a shard hosting plan).
Thousands of visitors per day
Ten thousand page views per day (all PHP)
20GB bandwidth per month
MySQL database
If I want to build something that allows as many people as possible to post their thoughts without complicate registration process, and I want to place ads on my sites or forum or wiki, which is the best choice?
We have a smallish website-design business. Most of the sites are built using the flat-file-based, PmWiki-brand, php software, which we skin to look like "normal" websites, but have the ease of editing that wiki technology provides.
Right now we have a shared hosting account with unlimited domains, and have to manage all the controls for all the clients' sites ourselves, because there's just one control panel for the whole account, BUT we also have to have a full installation of the PmWiki software for each site we set up, because the security setup won't allow multiple domains to use a shared set of scripts.
We would like to host a wiki farm using PmWiki on a reseller-style account. For this to work our way, we want to make a directory structure that looks something like this:
/var/www/
|-- pmwiki.conf (some files not accessible from the web) | |-- pmwiki_base/ | |-- pmwiki.php (pmwiki.php used by the farm) | |-- wiki.d/ (base wiki's page storage) | |-- local/ (base wiki's local configuration)
| | |-- farmconfig.php (config for all the Farm Fields)
|-- field01 / | |-- field.php (wrapper script for the Field) | |-- wiki.d/ (Field page storage) | |-- local/ (Field local configuration) | | |-- config.php (config for the Field) | |-- uploads/ (wiki's page attachments) | |-- [pub/cookbook] (only if needed for this Field) |-- field02 /... |-- field03 /... |-- field04 /... * |-- field99 /...
In this model, the subdirs field01-field99 are actually our customer domain sites. We would like each of these sites to have its own CPanel or HSphere controls so they can manage their email/etc., but we manage much of the actual sites centrally, in the pmwiki_base directory as above. This way, we can upgrade our client's site functionality without duplicating the code across each domain.
Can we do it with a reseller plan, and gain the benefit of all those exciting billing/management features?
Would this have to be both reseller and VPS, in order for us to safely have those few php scripts shared by all the different sites?
Just a question about hosting your site in the same country where your main targeted visitors is located. It is my belief that I should host my sites in the same country where I the targeted visitors are. Am I correct in saying this??
So.. US Focus Site should be hosted in the US Canadian Focus Site should be hosted in Canada And UK Focus Site would be hosted in the UK??????
I run my current site from asmallorange. I am currently using their shared hosting, but I am about to out grow it.
Im currently using 120GB of bandwidth a month, and it keeps growing. I have about 800 users on the forum, 150-200 active. 30 people on at normal hours, and peeks of 150-200 on tuesdays (when new stuff is released we talk about).
I am in talks to moving to a VPS at asmallorange, but I have never seen them recommended here as a VPS.
Id like room to grow, so at least 250GB bandwidth, 10(ten)GB of storage and something that is fast and reliable.
Also, im used to running a shared site from cpanel, so anything with cpanel, and as manages as possible would be better. I dont have too much time during school to upkeep the site. (why I love shared) PHP5 as the main php would be a huge plus, but if it runs side by side with 4 that is also ok.
I figured Id need 512RAM but I really do not know.
Currently, we use powerdns with mysql replication on multiple servers. This solution is kindda okay for now but I'd like to know if there is any other better solutions than powerdns.
For the last 6 months our site has been under severe brute force, syn flood attack. They keep bombarding a single URL of the server and it is xml file. They are not attacking any other URL.
We have removed the xml page from our site but still they keep on sending requests, this is for the last 6 months non stop.
The IP has been changed just to see and they are sending several thousand requests per second. The requests come from different IPS and different ranges, so you can not even block the IP’s. They seem to be coming from a legitimate IP’s.
Due to this I have had to pay for an extremely expensive server which holds 8 GB of RAM and quad core processor etc, however, even with this the server server still reaches critical level, just because these requests are eating up my resources.
Our technical team has been working on all aspects of apache server security, external modules, firewall, hardware firewall from beginning but still we are not able to stop them.
We have installed following modules.
4) mod_security
5) mod_evasive
6) Firewall
7) SYS_Cookies enabled
We have worked with the hosting company and their technical team leader, he installed the best CISCO hardware firewall and tried to stop them, but in vain.
We have checked our server to see if anything from our site is causing the request, no extra file uploaded on to the server. For example if some file has been upload or some text has been added to the file (checked if we’ve been hacked). Even though we checked for any hacks, I am still wondering if there is something we do not know about. Can a hack lead to huge amounts of traffic?
We need some help to stop these attacks. We have searched a lot and have found that sites that get attacked like this have only one option is to shut down till it stops. I really hope that will not be the case for us. Please let us know if any one has any ideas to deal with this.
Also could it be our own part of php code which can do this? We are ready to check every php file to make sure it does not have any line of code which can be dangerous?
We worked with hardware firewall company to drop a request on the spot coming for the single URL but it is getting setup.
We have antivirus running on server however if any specific antivirus or antimalware is needed, we can try that.
Following are the details I have got from my linux admin. This will help you to trace the issue in better way. Problem: Apache SYN_RECV
OS - RHEL5 kernels - 2.6.18-92.1.22.el5-x86_64 2.6.18-92.el5-x86_64
OS Type: cat /etc/issue Red Hat Enterprise Linux Server release 5.2 (Tikanga) > cat /proc/version Linux version 2.6.18-92.1.22.el5 (mockbuild@hs20-bc2-5.build.redhat.com) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)) #1 SMP Fri Dec 5 09:28:22 EST 2008
Following we have done till now is mentioned below for the configurations.
############### sysctl.conf
############## # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details.
# Controls IP packet forwarding net.ipv4.ip_forward = 0
# Do not accept source routing net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename # Useful for debugging multi-threaded applications kernel.core_uses_pid = 1
# Controls the use of TCP syncookies net.ipv4.tcp_syncookies = 1
# Controls the maximum size of a message, in bytes kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages kernel.shmall = 4294967296 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_synack_retries = 2 # Enable IP spoofing protection, turn on Source Address Verification net.ipv4.conf.all.rp_filter = 1 # Enable TCP SYN Cookie Protection net.ipv4.tcp_syncookies = 1
# 65536 seems to be the max it will take net.ipv4.ip_conntrack_max = 1048576 net.ipv4.tcp_rmem = 4096 87380 8388608 net.ipv4.tcp_wmem = 4096 87380 8388608 net.core.rmem_max = 8388608 net.core.wmem_max = 8388608 net.core.netdev_max_backlog = 5000 net.ipv4.tcp_window_scaling = 1
I'm trying to tar a folder that has 100's of thousands of files and I ensured that no files are being added or modified in that folder while the below command is being executed:
nice --adjustment=20 tar -cf users_from.tar users_from
I've tried it multiple times and it always stops before it finishes and ends up with a corrupted .tar file which gives errors when extracted and is obviously missing a lot of files. Sometimes it creates 200+ MB, sometimes 50 MB before it stops.
I also have enough RAM + swap for the operation so that can't be the cause. So is it just impossible to tar a directory with so many files and is it even possible to get a list of the files in that directory?
My sever is running mailscanner-4.56.8-1. Of late many of our customers complain that mails send To and From our server take hours to be delievered.
I tested this myself by sending test emails to and from my hotmail account which took long time to be received and delivered.
Also, in /var/log/maillog i see entries such as the one below; "Jan 4 20:39:36 www MailScanner[8461]: New Batch: Found 17678 messages waiting "
So i understand there is about 18 thousand emails in MailScanner /var/spool/mqueue.in folder.
To test i stopped MailScanner and started Sendmail, i send an email to my hotmail id and it got delievered immediately, but when i restart MailScanner and resend the same message it took 20mins to get delievered.
- how do i improve MailScanner processing so that messages are delivered faster? - Do i need to change the "Max Children = 5" variable in /etc/MailScanner/MailScanner.conf? - how do i force delivery of the 18thousand emails in mqueue.in folder?
For the last 5 days, exim has been retrying to resend email to a recipent every 1 millisecond.
As result, logs are huge, and load is being affected.
So I'd like to know how can I set/configure exim to ingore sending to any email I'd tell it.
I mean is there any config file I can look into, to set a ignore list, or even how to have it so that it retries sending every 1 hour, instead of every 1 millisecond.
I am having problem with a server. On all sites on the server start appearing core.xxxx files that in result fill server. Quotas were disabled because some people had issues logging in on because of error.
Quote:
Sorry for the inconvenience!
The filesystem mounted at /home/*** on this server is running out of disk space. cPanel operations have been temporarily suspended to prevent something bad from happening.
Please ask your system admin to remove any files not in use on that partition.
how to remove all of them so they dont appear again, on some sites there are thousands of core.xxxx files and weigh over 60GB.
I want to add visitors limits for my website. Is any way to i do that ? For example i want only 50 visitors to be the same time on my website and if come more to they get a message the website is full, please come back another time.
I have a website with 30 000 daily visitors, suddenly it down to 8 000, then i changed of hosting provider, but i have the same problem, i know that my real visitors are more than 8000.
Currently i am running on a Mediatemple DV base VPS that provides me 256MB guaranteed RAM, and a processing speed of appx 190Mhz and is on Virtuozzo.
Currently my site keeps going down and i dont know what to do...
Can anyone please suggest me a better VPS for my site.
My Budget is around 60$.
I checked linode and they are providing 900MB of RAM guaranteed, along with 533Mhz of processing, but the only problem i feel is that they are running on UML.
How good is linode?, anyone used them before, any previous experiences.
how stable is UML?, is it better to have Virtuozzo or UML.
I am actually looking for Xen servers,Can anyone suggest me on Xen?
Vpsland is providing Xen servers, do anyone have any previous experiences with Vpsland,Linode.
Even JaguarPC is providing a VPS for 512MB ram, on vitruozzo or 59$,how good is JaguarPC, any previous experiences...
If you can provide me more services that fall within 60$ and a minimum of 512MB ram,
I have experianced a number of attacks all from a specific country.
I would like to completely block access to all users from that country.
I realize that this is not fool proof because people from that country could still use a proxy.
I also realize that people in that country that are not hackers would not be able to access my web site but for the time being I still want to put this in place.
I use Linux / Cpanel / Apache. I have iptables installed.
Is there any way I can block all access to people from the problem country?
I am currently on a shared hosting paying a typical $7/month. The traffic of my website is increasing at a rapid rate and sometime twice or thrice in a month, I get those cpu exceeded errors. I'm running just 4-5 plugins on my website, nothing much and the sponsors ads are hosted on 3rd party sites to reduce the server load.
About my website:
It is a gadget site running on wordpress software with mysql db now exceeding 22MB. My monthly bandwidth goes near 80GB. Currently I get 6000-7000 visitors in a day and I've some future plans which will make it to 10000+ in coming months.
What do you guys say? To go in for VPS or still remain with shared hosting?
If you say that I must go for VPS, then which is the cheapest and most reliable VPS. My budget for my website is upto $20/month
Many ISPs assign dynamic IP addresses and I'm wondering if the following will be a problem for my site if it for example had 5 million all-time unique users:
So if someone new comes to my site with an IP that has already been in use by someone else who visited my site, that user will use the same databases with the previous user and won’t even be considered a unique in user.
Do dynamic ISP given IPs work so that someone else gets that IP once you release it?
Is there anyway to determine how many visitors subscribe to an RSS feed? (besides using something like technorati or feedburner) Does anyone know of a log analyzer will do this or another custom solution?
I have a reseller package with Hostgator, I use it to host a few sites on. Recently one of my customers started to notice that periodically, his site goes down - only to him.
I and others can access it just fine but he cannot nor can his friends in his local town. Most of the time it is on line.
I have checked the server DNS and domain name settings and all is fine.
I can't understand what the problem could be, it seems strange that almost everyone in the UK and US can access it but he cannot.
He has cleared his browser settings, reboot his connection and tried pinging his domain but no luck.
I have what seems to be a simple redirect question. I have a dedicated server and a few static IP addresses, but I want to make it so if someone were to type in my IP address in their browser, Apache will redirect them to the domain name. (Typing in [url]
What happens now is that if you were to type in my server's IP address, it will show you the FIRST VirtualHost container that's listed in httpd.conf. This is not so bad since I've placed my main company site at the start of the list, but I'd rather redirect the IP into the domain name I use.
I read somewhere that you can place Mod RewriteRules directly in the VirtualHost container rather than using .htaccess, but the few "rules" that I tried didn't seem to do anything. And yes, I restarted Apache each time I edited httpd.conf.
Is there an easy way to do this?
ALSO, is there a way to redirect the name server address too? If you type in [url]into the browser, it acts the same way. I would ultimately like to redirect both the nameservers and the IP address(es) to the domain name.
We have an established site for which we want to add a 'mobile-appropriate' subdomain geared to phone surfers.
Our host (1and1) confirms their servers detect mobile visitors but they couldn't help me with how to read the server flag(?) or whatever and then redirect the server to our mobile subdomain when appropriate.
Can anyone point to an appropriate how2? (Note I don't need "mobile code" help help - just help with how to redirect mobile visitors transparently off our main site and into its mobile subdomain).
any way to find out how many surfers are on your website simultaneously / concurrently.
i have download site, scripts site and a forum on the same dedicated server using the same domain name. the forum tells me i have xxx number of users online... is there a way to find out how many surfers there are on the download and scripts part of the site?
i tried ps -aux |grep httpd
but it shows significantly lower numbers than i can see on the forum. and i havent added the script and download parts of the site.